2011-10-22 21 views
0

我正在开发一个android游戏,我需要一些关于多线程的帮助,因为我正在考虑它。我附上一张图片,然后我可以解释我需要什么。 enter image description here 这只小鸟在我的游戏中从左到右和从右到左完美地移动,也将她的羽毛作为两个图像使用,但我在某个时间运行代码,这会开始给鸡蛋,例如,鸟会飞行4分钟并在每20秒后它会放弃鸡蛋,现在鸡蛋会从上到下移动,而我认为,另一个游戏线程将被使用,我已经使用GameLoopThread对象并且SurfaceHolder拥有表面,我已经使用了这个代码 我可以让蛋20秒的条件,但我很困惑如何使一个鸡蛋的线将从上到下,并在另一边的鸟将继续前进。GameLoopThread在简单的Android游戏中,我该如何执行并行线程?

真的在此先感谢。

与Atif

回答

2

你只需要一个游戏线程,不使用两个,就会让事情就更加复杂(你需要的一切同步)。

通常一个游戏线程执行下列操作步骤(和循环他们永远):

  • 处理密钥/触摸事件
  • 执行打勾()(精灵的更新,状态等)
  • 呈现屏幕

所以,你需要做的,是有一个精灵(鸟,蛋)的列表。你可以将它们保存在一个数组中。然后在tick()中更新每个人的位置。

精灵列表将是动态的,在开始时你将只有一个精灵,即鸟。当鸡蛋被创建时,只需将它添加到sprite数组中,那么从该点开始它也将被处理。

+0

根据我用来开发这个应用程序的代码,你能给我一些提示或链接,谢谢。 –