Android精灵触摸事件会出错

时间:2014-11-21 16:36:49

标签: android andengine

我有以下代码:

Sprite sPlayer = new Sprite(800 / 2, 480 / 2,
playerTextureRegion,
engine.getVertexBufferObjectManager()){
    @Override
    public boolean onAreaTouched(final TouchEvent tEvent, final float X,
    final float Y)
    {
        if ( tEvent.isActionDown() )
        // Some code
        return true;
    };
};

gameScene.registerTouchArea(sPlayer);
gameScene.setTouchAreaBindingOnActionDownEnabled(true);
gameScene.attachChild(sPlayer);
  1. 当我运行它时,它会给我错误并且应用程序关闭
  2. 我看到大多数人使用gameScene.setTouchBindingEnabled(True) 而不是gameScene.setTouchAreaBindingOnActionDownEnabled(true);,但Eclipse没有认识到这个,我无法导入任何包。我究竟做错了什么?
  3. 提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

根据您的评论,您需要使用函数runOnUiThread

YourActivity.runOnUiThread(new Runnable() {
        @Override
        public void run() {
           Toast.makeText(YourActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

或者,您可以使用函数toastOnUiThread

  

YourActivity.toastOnUiThread(MSG,Toast.LENGTH_SHORT);

其中YourActivity是您在游戏中的活动(只是传递对它的引用)