我正在尝试研究发动机。当我触摸精灵(树)的中心时一切正常。但是当我触摸精灵顶部时,它会跳到精灵的中心。
希望我的问题很明确。
这是我正在使用的触摸事件代码
final Sprite face = new Sprite(centerX, centerY, this.mFaceTextureRegion, this.getVertexBufferObjectManager()) {
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
this.setPosition(pSceneTouchEvent.getX() - this.getWidth() / 2, pSceneTouchEvent.getY() - this.getHeight() / 2);
return true;
}
};
答案 0 :(得分:0)
我认为当你在sprite的任何部分触摸它时,你希望你的精灵到场景的中心, 但是你使用的onAreaTouched应该使用IOnSceneTouchListener,如下所示: -
@Override
public boolean onSceneTouchEvent(final Scene pScene,
final TouchEvent pSceneTouchEvent) {
this.setPosition(pSceneTouchEvent.getX() - face.getWidth() / 2, pSceneTouchEvent.getY() - face.getHeight() / 2);
return false;
}