2 o casper ne O_Casper_ne 于 2012.12.27 11:26 提问

AndEngine中使用 AreaTouched方法移动sprite总是延迟

我使用下面这个方法把sprite在AndEngine里面从一边移动到另一边。

Sprite player = new Sprite(PlayerX,PlayerY, this.mPlayerTextureRegion) {

   @Override
    public boolean onAreaTouched(final TouchEvent pSceneTouchEvent,
                                 final float pTouchAreaLocalX,
                                 final float pTouchAreaLocalY) {
        this.setPosition(pSceneTouchEvent.getX() - this.getWidth() / 2,
                         this.getY());
        return true;
     }
};

我发现当sprite迅速来回移动时,会有一个延迟。有时候必须重新执行触摸事件或拖拽sprite才会移动。有什么方法可以优化这个问题呢?谢谢!

1个回答

yongyong_21
yongyong_21   2012.12.27 14:16
已采纳

我从AndEngine代码中指出这个问题。
当使用 onAreaTouched()来移动 sprites时,别忘了在 LoadScene()方法的底部调用:

mScene.setTouchAreaBindingEnabled(true)
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!