我正在使用功能性的Actionscript 3,正在进行一个用户在关卡中留下曲目的游戏。
但是现在轨道是阵列中的对象,它们会越来越大(随着时间的推移会减慢游戏速度)。如何在水平位图上绘制它们?以及重启时如何重新加载位图?
已经搜索了几天但没有找到答案。
我知道如何组合位图并将其添加到舞台,但不知道如何在影片剪辑对象中替换它:
var newLevel:BitmapData = new BitmapData(grassLevel.width, grassLevel.height);
var newDebree:BitmapData = new BitmapData(debree.width, debree.height);
newLevel.draw(grassLevel);
var position: Matrix = new Matrix(1,0,0,1, user.x, user.y);
newLevel.draw(debree, position);
var bm:Bitmap = new Bitmap(newLevel);
addChildAt(bm, 21);
答案 0 :(得分:3)
你会想要深入研究Blitting做你想做的事。您可以在内存中拥有一个曲目副本,并将它们分成多个位置。由于你无论如何都是专门使用位图,我打赌这是最好的计划。
Blitting here.
有一个很好的教程请注意,每次要更新图像时,都不必向舞台添加新的位图;它应该实际自动更新。