使用AndEngine,我正在尝试使用加速度计移动精灵(球),它应该会反弹到墙壁并撞击其他障碍物。
到目前为止,我找到了以下两种方法。
这个方法在非物理世界中运作得非常平稳,但是在与墙壁和其他障碍物的碰撞中则无法顺畅弹跳。
现在使用的这种方法是AndEngine提供的示例中的一种,球的物理特性还不错,但是其移动并不如我所期望的那样平滑。
我也尝试过将pAccelerometerData乘以某些值,如2和5,是的,它似乎更具响应性,但也使球移动得更快,难以玩。
为了让我的问题清晰明了,我希望我的游戏像Android上的Labyrinth或Rebound游戏中的球一样平滑。它们的球对加速度计更具响应性。例如,在Labyrinth中,如果您想突然停止移动的球,可以这样做,但在AndEngine示例中,它会像在无摩擦世界中移动一样继续移动。
有没有办法使其更具响应性和平滑,就像Labyrinth游戏那样? https://market.android.com/details?id=se.illusionlabs.labyrinth.lite&hl=en
到目前为止,我找到了以下两种方法。
public void onAccelerometerChanged(final AccelerometerData myAccelerometerData) {
mySprite.setPosition(mySprite.getX() + myAccelerometerData.getX(), mySprite.getY() + myAccelerometerData.getY());
}
这个方法在非物理世界中运作得非常平稳,但是在与墙壁和其他障碍物的碰撞中则无法顺畅弹跳。
现在使用的这种方法是AndEngine提供的示例中的一种,球的物理特性还不错,但是其移动并不如我所期望的那样平滑。
@Override
public void onAccelerometerChanged(final AccelerometerData pAccelerometerData) {
final Vector2 gravity = Vector2Pool.obtain(pAccelerometerData.getX(), pAccelerometerData.getY());
this.mPhysicsWorld.setGravity(gravity);
Vector2Pool.recycle(gravity);
}
我也尝试过将pAccelerometerData乘以某些值,如2和5,是的,它似乎更具响应性,但也使球移动得更快,难以玩。
为了让我的问题清晰明了,我希望我的游戏像Android上的Labyrinth或Rebound游戏中的球一样平滑。它们的球对加速度计更具响应性。例如,在Labyrinth中,如果您想突然停止移动的球,可以这样做,但在AndEngine示例中,它会像在无摩擦世界中移动一样继续移动。
有没有办法使其更具响应性和平滑,就像Labyrinth游戏那样? https://market.android.com/details?id=se.illusionlabs.labyrinth.lite&hl=en