在我的游戏中,一个物体(物体)移动每一帧,无论我使用Box2D还是Nape。
//for example
var body:Body = createNewBall();
addChild( body.graphic );
addEventListener( Event.ENTER_FRAME, loop);
private function loop():void {
space.step(1/30, 10, 10);
}
但是Starling与魔术师一起使用动画。也许它会以某种方式影响性能。
var body:Body = createNewBall();
addChild( body.graphic );
var tween:Tween = new Tween(body.graphic, 2);
tween.animate("x", glX);
tween.animate("y", glY);
Starling.juggler.add(tween);
但是如果使用jugglers以及enter_frame动画?
答案 0 :(得分:2)
当使用物理引擎时,通常不会通过添加到starling juggler的常规Tween
为对象设置动画,而是根据每个引擎计算的位置更新图形对象的位置。步。您将需要使用ENTER_FRAME
,以便您可以使引擎前进。使用您发布的代码,您可以执行以下操作:
//for example
var body:Body = createNewBall();
addChild( body.graphic );
//callback to update graphic position
body.graphicUpdate = updateBallGraphics;
addEventListener( Event.ENTER_FRAME, loop);
private function loop():void
{
space.step(1/30, 10, 10);
}
private function updateBallGraphics(b:Body):void
{
b.graphic.x = b.position.x;
b.graphic.y = b.position.y;
}
有一个great tutorial on gotoandlearn.com about using Starling and Nape涵盖了这一点,以及您需要开始的所有基础知识。希望这有帮助!