我希望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;
}
问题是精灵总是回到中心,他随意地跟着我的手指在屏幕上移动。
我做错了什么?
答案 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;
}