我正在开发一款安卓游戏,我需要一些关于多线程的帮助,因为我正在考虑它。我附上一张图片然后我可以解释我需要的东西。 这只鸟在我的游戏中从左到右,从右到左完美地移动,同时移动她的羽毛作为两个图像使用,但我在某个时间运行代码,这将开始给蛋,例如鸟将飞行4分钟后每20秒它会掉落鸡蛋,现在鸡蛋将从上到下移动,我认为,将使用另一个游戏线程,我使用了GameLoopThread对象,SurfaceHolder保持表面, 我使用过此代码http://www.edu4java.com/androidgame/androidgame3.html 我可以让20秒的条件给鸡蛋,但我很困惑如何为一个鸡蛋做一个线程,从上到下移动,另一边的鸟将继续移动。
提前非常感谢。
与Atif
答案 0 :(得分:2)
你只需要一个游戏线程,不要使用两个,它会让事情变得更复杂(你需要同步所有东西)。
通常游戏线程执行以下步骤(并永久循环它们):
所以,你需要做的是有一个精灵列表(鸟,蛋)。您可以将它们保存在一个数组中。然后在tick()中,更新每个位置。
精灵列表将是动态的,在开始时你将只有一个精灵,鸟。当创建egg时,只需将它添加到sprite数组中,因此从那时起它也将被处理。