我尝试使用android编写一个小游戏,并且在线程方面存在一些问题。 游戏的主循环运行在这个自己的线程中,基本上只是做这样的事情:
public void run() {
while (true) {
NativeGameLib.gameTick(t);
}
}
现在我想将触摸输入传递给NativeGameLib。我以为我在UI线程中使用视图的onTouchEvent(),创建一个可运行的内部并让它在主循环线程上执行。
但我真的不知道怎么做。我已经看到有一个Handler和一个Looper类,我可以使用处理程序将runable发布到messageQueue和Looper.loop()函数来处理队列。
据我所知,loop()函数无休止地检查新消息,从而阻塞线程。 那么,我怎样才能将它与我的线程结合起来。我想在线程中做这样的事情:
public void run() {
while (true) {
processMessageQueue();
NativeGameLib.gameTick(t);
}
}
有什么想法吗? 感谢。
答案 0 :(得分:0)