loading请求处理中...

什么是Android游戏开发的主循环

2021-12-01 13:40:45 阅读 9930次 标签: android游戏开发android基础教程 作者: 535261011@qq.com
    Android游戏开发是最近几年新兴的名词,使用智能手机的我们都了解,大多数手机都是使用安卓系统,我们不去评论它的好坏,大家仔细的去翻翻自己的手机页面,除了一些社交工具、照相工具、淘宝、手机银行等软件,大家的手机里是否会有很多的游戏软件?这些游戏是否会给大家带来一定的快乐呢?我想结果十分明确,Android游戏开发已经影响了我们的生活,但是你了解安卓游戏开发的主要步骤吗?
什么是Android游戏开发的主循环
    游戏主循环

    根据你写的游戏的类型,你可能需要也可能不需要一个主循环。如果你的游戏不依赖于时间或者它仅仅对用户所做的加以回应,并且不做任何视觉上的改变,永远等待着用户的输入,那么你就不需要主循环。如果你写的是动作类游戏或者带有动画、定时器或任何自动操作的游戏,你应该认真考虑下使用主循环。

    游戏的主循环以一个特定的顺序通常尽可能多的在每秒钟内“滴答”提醒子系统运行。你的主循环需要在它自己的线程里运行,原因是Android有一个主用户界面线程,如果你不运行自己的线程,用户界面线程将会被你的游戏所阻塞,这会导致Android操作系统无法正常的更新任务。执行的顺序通常如下:状态,输入,人工智能,物理,动画,声音,录像。

    更新状态意思是管理状态转换,例如游戏的结束、人物的选择或下一个级别。很多时候你需要在某个状态上等上几秒钟,而状态管理应该处理这种延迟,并且在时间过了之后设置成下一个状态。

    输入是指用户按下的任何键、对于滚动条的移动或者用户的触摸。在处理物理之前处理这些是很重要的,因为很多时候输入会影响到物理层,因而首先处理输入将会使游戏的反应更加良好。在Android里,输入事件从主用户界面线程而来,因此你必须写代码将输入放入缓冲区,这样你的主循环可以在需要的时刻就从缓冲区里取到它。这并非难事。首先为下一个用户输入定义一个域,Android游戏开发然后将onKeyPressed或onTouchEvent函数设为接到一个用户动作就放到那个域里,有这两步就够了。如果对于给定游戏的状态,这是一个合法的输入操作,那么所有输入需要在那一刻做的更新操作都已经定下来了,剩下来就让物理去关心怎样响应输入吧。

    人工智能所做的类似于用户在决定下一个要“按”哪个按钮。学习怎样写人工智能程序超出了这篇文章的范围,Android游戏开发但大体的意思是人工智能会按照用户的意图来按按钮。这些也有待物理去处理和响应吧。

    物理可能是也可能不是真正的物理。对于动作类游戏来说,关键点是要考虑到上一次更新的时间、正在更新的当前时间、用户输入以及人工智能,并且决定它们朝着什么方向发展和是否会发生冲突。对于一个你可视化地抓取一些部件并滑动它们的游戏来说,物理就是这个游戏中滑动部件或者使之放入合适的位置的部分。对于一个小游戏来说,物理即使这个游戏中决定答案是错还是对的部分。你可能将其命名为其他东西,但每个游戏都有一个作为游戏引擎的红肉部分(译者注:可能是主体部分的意思),在这篇文章里,我把这部分称为物理。
    
    动画并非像在游戏里放入会动的gif图片那样简单。你需要使得游戏能在恰当的时间画出每一帧。这并没有听起来那么困难。Android游戏开发保留一些像isDancing、danceFrame和lastDanceFrameTime那样的状态域,那样动画更新便能决定是否可以切换到下一帧去了。动画更新真正做的事就那么多。真正来显示动画的变化是由录像更新来处理的。

    声音更新要处理触发声音、停止声音、音量变化以及音调变化。正常情况下当写游戏的时候,声音更新会产生一些传往声音缓冲区的字节流,但是Android能够管理自己的声音,因而你的选择将是使用SoundPool或者MediaPlayer。它们都需要小心处理以免出错,但你要知道,因为一些底层实现细节,小型、低比特率的声音文件将带来最佳的性能和稳定性。

    录像更新要考虑游戏的状态、角色的位置、分数、状态等等,并将一切画到屏幕上。如果使用主循环,你可能需要使用SurfaceView,并做一个“推”绘制。对于其他视图,视图本身能够调用绘制操作,主循环不必处理。SurfaceView每秒产生的帧数最多,最适合于一些有动画或屏幕上有运动部件的游戏。录像更新所要做的工作是获取游戏的状态,并及时地为这个状态绘制图像。其他的自动化操作最好由不同的更新任务来处理。

    大家会感觉这些内容十分的深奥,难懂,但是一品威客小编认为安卓游戏发有一定了解的人们可能很是喜欢这些内容,上述内容将会帮助大家设计出令人喜欢的游戏,并且为自己创造出一定的财富。我们不得不说游戏开发这个项目在未来的发展前景十分良好,因为它已经占据了人们的生活。做最专业的安卓游戏,就找一品威客。

手游开发公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
手游开发相关任务
DESIGN TASK 更多
小型游戏开发游戏源码购买

¥20000 已有2人投标

Android APK 二次开发打包

¥10000 已有2人投标

H5小游戏开发

¥10000 已有3人投标

H5小游戏开发+封装A P K

¥13000 已有1人投标

手机app绑定Android老人机需求

¥3000 已有1人投标

小型游戏开发

¥10000 已有1人投标

公式连连看小游戏开发

¥1000 已有1人投标