Nape space.step和恒定的冲动

时间:2014-03-06 04:11:41

标签: actionscript-3 air nape

我有一个奇怪的问题。 如果我使用向量ENTER_FRAMEvar vec:Vec2 = new Vec2(40,0);移动身体(以获得持续移动)并将其作为body.applyImpulse(vec);的冲动应用,当我'渲染'场景时space.step(1 / this._stage.frameRate);a 1}}在同一帧,并在那时追踪身体像素的运动差异(与其在前一帧的位置相比),每帧不是恒定的。结果有时候位置是向前的,就像它在同一帧中呈现2个脉冲,而下一帧不会有任何冲动或运动,并且精灵是不稳定的,这是随机发生的。空间没有重力(0,0);

如何在每一帧都有冲动的身体获得一个不错的恒定运动?我试图使用body.position.setxy(),但它违背了模拟的目的......

我与space.step(1 / this._stage.frameRate);玩了一会儿并尝试了space.step(0.1 / this._stage.frameRate);随机震动消失了,但现在身体在每一帧都震动了一下。有什么想法吗?

修改 的 使用now而不是applyImpulse,仍然有相同的问题

var old:Number = body.velocity.x;
body.velocity.x = dir.x*speed;
body.velocity.y = dir.y*speed;          
trace("DIFF", body.velocity.x-old);

我在每个帧上运行它,并且身体x上的位置差异是:

DIFF 0.19997499999993806
DIFF 0.19997499999993806
DIFF 0.19997499999993806
DIFF 0.19997499999993806
DIFF 0.19997499999993806
DIFF 0.19997499999993806
DIFF 0.19997499999993806
DIFF 0.29992500624990726
DIFF 0.0999999999999659
DIFF 0.19997499999993806
DIFF 0.19997499999993806

因此,每隔一段时间,施加到物体上的速度的结果就不是恒定的,因为它会偶尔呈现“向前”,如果可以的话,“纠正”自己。

1 个答案:

答案 0 :(得分:0)

好的,发现问题,如果其他人面临同样的问题则发布:

  

space.step(1 / this._stage.frameRate,1,1)

纠正了这个问题,因为我没有格斗