截至目前,我正在尝试为我正在制作的游戏创建平铺效果。我正在使用一个瓷砖表,我正在将瓷砖加载到精灵中,就像这样......
this.graphics.beginBitmapFill(tileImage);
this.graphics.drawRect(30, 0,tWidth ,tHeight );
var tileImage是bitMapData。 30是要移动的像素数。然后tWidth和tHeight是矩形的大小。这是30x30
这是我在瓦片上的角色时更改位图的方法
this.graphics.clear();
this.graphics.beginBitmapFill(tileImage);
this.graphics.drawRect(60, 0,tWidth ,tHeight );
我清除精灵画布。然后我重写到tileImage上的另一个位置。
我的问题是......
它完全删除了旧图块,但新图块位于更靠右边的位置,然后是旧位图出现的位置。
我的瓷砖表只有90px宽,30px高。最重要的是,我看来我的新瓷砖是在旧瓷砖后面绘制的。有没有更好的方法来完善它。
再次,我想要的是位图改变颜色
答案 0 :(得分:1)
您可以尝试在精灵中加载整个tileheet,然后在每次需要时重新定义scrollRect
属性。
this.scrollRect = new Rectangle( 30, 0, tWidth ,tHeight );
请注意,您不能只修改scrollRect.x
,.y
,.width
或.height
;你必须每次重新定义一个新的矩形。
使用scrollRect可能会比重绘部分位图快得多。
您可以阅读this excellent article from Grant Skinner了解有关scrollRect
。