AndEngine Smooth Finger Follow

时间:2014-04-29 22:00:24

标签: android andengine game-engine

我希望Sprite顺利地按照我的手指。

现场已注册触摸事件,到目前为止我已经注册了这个:

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
    Vector2 characterPosition =  mCharacterSprite.getBody().getPosition();
    float sceneX = pSceneTouchEvent.getX();
    float charaX = characterPosition.x * 32;
    float sceneY = pSceneTouchEvent.getY();
    float charaY = characterPosition.y * 32;

    if( Math.abs(sceneX - charaX) < 100 && Math.abs(sceneY - charaY) < 100) {
        mCharacterSprite.registerEntityModifier(new MoveModifier(0.01f, charaX , sceneX, charaY, sceneY));
    }
    return false;
}

问题是精灵总是回到中心,他随意地跟着我的手指在屏幕上移动。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这段代码......它有效。 只需在块中设置“sprite.setPosition(pSceneTouchEvent.getX(),pSceneTouchEvent.getY())”,甚至不必在场景中注册精灵的touchEvent。

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) 
{

        sprite.setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
    return false;
}