如何用发动机移动身体?

时间:2012-09-23 19:50:59

标签: position sprite andengine

我在一个发动机中移动一个物体并恢复其位置,如X,Y

并使用:

Get Position:

body.getPosition().x;

AnimatedSprite.getX();

Set Position:

Sprite.setPosition(x,y);

但没有人为我服务。

3 个答案:

答案 0 :(得分:3)

如果我正确理解您的问题是什么,您正在寻找的方法是Body.setTransform(float x, float y, float angle)。请记住,Body坐标以米为单位,因此您必须将像素值除以PIXEL_TO_METER_RATIO(通常为32)。

答案 1 :(得分:0)

您应该在方法onUpdate中的registerUpdateHandler中执行此操作。

示例:

body.registerUpdateHandler(new IUpdateHandler() {

@Override
    public void reset() {

    }

    @Override
        public void onUpdate(float pSecondsElapsed) {
            body.getPosition();
            body.setPosition();
        }
});

答案 2 :(得分:0)

你可以这样做

yourBody.setTransform(new Vector2(x / 32,y / 32),0);

这个问题是一样的 how to move body of sprite using andEngine?