【发布时间】:2014-01-12 23:12:56
【问题描述】:
我想在一秒钟后在我的游戏中做一个简单的动作。我有我的 GameScene 类,它扩展了 Andengine 的场景。
public class GameScene extends Scene{
//(...)
Handler delayHandler;
public GameScene(){
Looper.prepare();
delayHandler = new Handler();
}
//(...)
public void sphereTouched(){
//(...)
delayHandler.postDelayed(new Runnable() {
public void run(){
Log.d("DEB","postDelayed test");
}
}, 1000);
}
}
当从 postDelayed 调用 sphereTouched 函数时,操作不会运行。该功能的其他操作正常工作。我错过了什么吗?
【问题讨论】:
-
你不使用 Asynctask 吗?
-
你初始化 delayHandler 了吗?
-
我不知道这是否相关(也许您有两个单独的处理程序并且只初始化一个?)或没有(可能只是此处发布的代码中的一个错误),但请注意您是在
sphereTouched中使用delayHandler,但只在构造函数中初始化handler。 -
日志中有什么内容?
-
@kabuko - 抱歉,我在写问题时犯了一个错误。构造函数中有一个delayHandler(我刚刚更正了它)。
标签: java android handler andengine postdelayed