2011-05-11 47 views
0

因此,我是Android的新手,并且在理解线程/ Android UI更新等方面遇到了一些困难。我有一个我为AP计算机科学最终项目制作的简单游戏引擎的代码,我一直在试图将它变成一个Android应用程序。来自java世界我不习惯穿线或担心计算发生的时间或地点,所以我一直在使我的游戏可玩性方面遇到一些困难。在启动画面和主菜单后,我已经设置了一个名为“Play”的活动。在这个活动中,我发现我可以初始化我的游戏引擎对象(从类传递到类),创建一个对象来创建一个AsyncTask(下面链接代码中的“GuiThreader”),但只要我扔进“Play”中的某些代码可以做更多的事情(比如初始化一个按钮,或者启动threader helper类)我得到一个“Activity has Stopped Unexpectedly”的错误,这意味着我做错了什么。我一直在寻找很多Android示例代码,但它对我来说毫无意义。所以我想所有的背景我更大的问题是我怎么能得到这个代码工作?更具体地说,我应该在哪里检查游戏结束时的循环,以及如何在“主”线程之外​​更新我的按钮颜色以防止崩溃。Android,在哪里把我的UI更新和我的游戏循环

这里是我的代码:

“播放”活动(与行代码评论说,我与测试):用来做游戏计算的的AsyncTask http://pastebin.com/K5kFsMvG

“GuiThreader”:http://pastebin.com/306eUYfq

用于调用一类更新按钮颜色

“GUIdriver”:http://pastebin.com/RANZBH38

“ButtonColorUpdate”保存按钮和更新t中的值继承人颜色:http://pastebin.com/qN2fw1RC

如果您需要任何其他的只是评论,我会把它。预先感谢任何帮助!

回答

0

首先阅读this。然后,我建议您查看Replica Island的代码。研究这个项目的代码可以学到很多东西。如果你想从一个单独的线程与GUI“东西”进行交互,一个Handler(见API)可以用于在两者之间发送消息。