Android 在onCreate&;结束时启动while循环(游戏更新循环);收听任何onClick事件

Android 在onCreate&;结束时启动while循环(游戏更新循环);收听任何onClick事件,android,multithreading,android-studio,while-loop,oncreate,Android,Multithreading,Android Studio,While Loop,Oncreate,我搜索了一遍又一遍,找不到任何我能用的东西。也许我的关键字错了,但我正在尝试在Android上玩一个基于回合的多人游戏,战斗正在进行的活动将在onCreate结束时运行battleLoop()函数 这个战斗循环将执行如下操作: (当playerHP>=0 | | opponentHP>=0时),执行步骤2-6 从数据库中检索轮到谁了 若轮到玩家,则允许玩家点击攻击或防御按钮。轮到玩家时,在玩家插入动作之前,不要做任何动作。然后保存这些信息以发送到数据库 如果没有轮到玩家,那么继续检查轮到谁了 完

我搜索了一遍又一遍,找不到任何我能用的东西。也许我的关键字错了,但我正在尝试在Android上玩一个基于回合的多人游戏,战斗正在进行的活动将在onCreate结束时运行battleLoop()函数

这个战斗循环将执行如下操作:

  • (当playerHP>=0 | | opponentHP>=0时),执行步骤2-6
  • 从数据库中检索轮到谁了
  • 若轮到玩家,则允许玩家点击攻击或防御按钮。轮到玩家时,在玩家插入动作之前,不要做任何动作。然后保存这些信息以发送到数据库
  • 如果没有轮到玩家,那么继续检查轮到谁了
  • 完成后,计算、应用和更新数据库
  • CheckWin(查看谁赢了)
  • 问题在于while循环。我想不出在创建完成后如何启动这个函数battleLoop()。我希望此函数的工作方式与Unity等游戏引擎中的Update()函数类似,在Unity中,函数将在onCreate完成后执行

    我尝试过的事情:

  • onCreate结束时的函数调用
  • Threads&system.sleep(允许玩家输入动作时暂停)

  • 有很多关于Android游戏开发的教程。其中大多数涉及使用
    SurfaceView
    或类似设置创建游戏循环。例如,这组教程非常深入地介绍了如何实现您想要实现的目标:感谢您的评论。如果我的游戏不太依赖于精灵的动画或绘画,(我真的只需要游戏循环)这些方法仍然有效吗?如果你的游戏是基于回合的,并且没有太多的动画,那么有可能你甚至不需要游戏循环来开始。相反,当用户执行操作时,您只需执行您提到的检查。上面提到的所有步骤都不需要循环。你可以根据游戏中发生的事情触发它们。例如,获得轮到谁了,现在根据结果开始玩家轮次,根据玩家轮次检查HP,等等。但我如何准确地做到这一点?我应该在onCreate结束时调用battle函数,然后根据前面的结果进行相应的检查。那么我自然需要在它结束时再次调用相同的函数,对吗?我在想象它的流动时遇到了问题。我认为它是这样发生的:1
    onCreate()
    完成匹配设置。2.在onCreate结束时,您将触发一个方法,以查看谁获得第一回合。3.它决定该轮到玩家1了,因此为玩家1显示适当的UI以进行攻击,并进行其他检查,如HP检查、攻击冷却等。显示玩家1的攻击界面和可用攻击。5.玩家1完成他的游戏。6.已联系服务器将播放内容发送给播放器2。7.对玩家2重复这个过程。基本上,类似的东西。