AndEngine Smooth Finger Follow

Я бы хотел, чтобы 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;
}

Проблема в том, что спрайт всегда возвращается в центр и перемещается по экрану случайным образом вместо того, чтобы следовать за моим пальцем.

Что я сделал не так?


person Gregg_1987    schedule 29.04.2014    source источник


Ответы (1)


попробуйте этот код... он работает. просто установите «sprite.setPosition(pSceneTouchEvent.getX(),pSceneTouchEvent.getY())» в блоке, даже не нужно регистрировать touchEvent спрайта со сценой.

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

        sprite.setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
    return false;
}
person QuaziRidwanHasib    schedule 30.04.2014