Sprite在触摸它时会跳到精灵的中心

时间:2014-01-09 10:43:34

标签: android andengine sprite

我正在尝试研究发动机。当我触摸精灵(树)的中心时一切正常。但是当我触摸精灵顶部时,它会跳到精灵的中心。

希望我的问题很明确。

image 1 touch on center marked as red circle

image 2 touched on top of the tree but it jumped to where i jumped.

这是我正在使用的触摸事件代码

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;
        }
    };

1 个答案:

答案 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;
    }