- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习如何开发游戏
学习如何开发安卓游戏
(本文由扬速科技提供)
如果你有兴趣在Android平台开发游戏,那么这里就有很多你需要了解的东西。如果你有过游戏开发经验,那么转移到移动平台上来将不是特别困难。你主要只需学习其架构以及API就行了。如果你是一名游戏开发新手,这里总结了一张列表,上面有你必需知道的东西,供你起步用。这些知识适用于很多类型的游戏,包括动作类、策略类、模拟类和益智类。 Android是一个基于Java的环境。这对初学者来说是个好消息,因为相对于C++,Java被广泛认为是一门更容易上手的语言,它是移动开发的规范。而网上能找到API的有关文档,里面都有提供示例代码供使用。其中有个叫做API Demos的示例几乎展示了所有API的功能。如果你熟悉Java并且用过Eclipse,要让你的第一个应用跑起来那是相当简单。如果你以前从没写过代码,在你前进路上还要学习很多,但别气馁。接下来便是开发游戏的一些主要步骤,让我们来学习一下:
一、获取SDK
新手上路的第一步便是获取Android SDK(软件开发工具包)。SDK里有一个核心类库,一个模拟器,一些工具和示例代码。我强烈建议使用Eclipse和Android Eclipse插件。如果你玩Android的话,Eclipse IDE对Java开发者来说很好用。如果这是你第一次开发Java项目,你可能会需要下载全套JDK,它里面包括签名和部署你的应用程序的一些工具。
二、学习应用程序架构
别急着一头扎进开发的海洋里,理解Android应用程序架构是很重要的。如果你不学一下,你设计出来的游戏在线下将很难调试。你将需要理解Applications、Activities、Intents以及它们怎样相互联系。真正重要的是要理解为什么你的游戏需要多于一个的Activity,以及什么才是设计一个有良好用户体验的游戏。要理解这些,首先要了解什么是Activity生命周期。
三、学习Activity生命周期
Activity生命周期由Android操作系统来管理。你的activity创建、恢复、暂停、销毁都受操作系统的支配。正确处理这些事件是很重要的,这样应用程序才能表现良好,做用户认为正确的事。在你设计你的游戏之前了解所有这些是如何工作的是件好事,因为以后你可以为自己节省调试时间和昂贵的重新设计时间。对大多数应用来说,默认的设置将工作正常,但对于游戏,你可能需要考虑将SingleInstance标志打开。当设置为默认时,Android在它认为合适时会创建activity的新实例。对于游戏来说,你可能只需要一个游戏activity的实例。这对于你要怎样管理事务的状态有些影响,但对于我来说,这解决了一些资源管理的问题,应予以考虑。
四、主循环
根据你写的游戏的类型,你可能需要也可能不需要一个主循环。如果你的游戏不依赖于时间或者它仅仅对用户所做的加以回应,并且不做任何视觉上的改变,永远等待着用户的输入,那么你就不需要主循环。如果你写的是动作类游戏或者带有动画、定时器或任何自动操作的游戏,你应该认真考虑下使用主循环。
游戏的主循环以一个特定的顺序通常尽可能多的在每秒钟内“滴答”提醒子系统运行。你的主循环需要在它自己的线程里运行,原因是Android有一个主用户界面线程,如果你不运行自己的线程,用户界面线程将会被你的游戏所阻塞,这会导致Android操作系统无法正常的更新任务。执行的顺序通常如下:状态,输入,人工智能,物理,动画,声音,录像。 更新状态意思是管理状态转换,例如游戏的结束、人物的选择或下一个级别。很多时候你需要在某个状态上等上几秒钟,而状态管理应该处理这种延迟,并且在时间过了之后设置成下一个状态。
输入是指用户按下的任何键、对于滚动条的移动或者用户的触摸。在处理物理之前处理这些是很重要的,因为很多时候输入会影响到物理层,因而首先处理输入将会使游戏的反应更加良好。在Android里,输入事件从主用户界面线程而来,因此你必须写代码将输入放入缓冲区,这样你的主循环可以在需要的时刻就从缓冲区里取到它。这并非难事。首先为下一个用户输入定义一个域,然后将onKeyPressed或onTouchEvent函数设为接到一个用户动作就放到那个域里,有这两步就够了。如果对于给定游戏的状态,这是一个合法的输入操作,那么所有输入需要在那一刻做的更新操作都已经定下来了,剩下来就让物理去关心怎样响应输入吧。
人工智能所做的类似于用户在决定下一个要“按”哪个按钮。学习怎样写人工智能程序超出了这篇文章的范围,但大体的意思是人工智能会按照用户的意图来按按钮。这些也有待物理去处理和响应吧。
物理可能是也可能不是真正的物理。对于动作类游戏来说,关键点是要考虑到上一次更新的时间、正在
您可能关注的文档
- 如何提升影院质量(电影院培训).ppt
- 如何提升职业修养.ppt
- 如何提高孩子我保护意识.doc
- 如何提高淘宝的服务水平.doc
- 如何提高小学阅读能力.doc
- 如何撰写公关.ppt
- 如何撰写科技的引言部分.ppt
- 如何正确应对职能部门的来访.ppt
- 如何破解年年难.doc
- 如何用vis制作流程图详解.ppt
- 临沂市罗庄区2024-2025学年六上数学期末调研试题含解析.doc
- 灵武市2024-2025学年四上数学期末达标检测模拟试题含解析.doc
- 柳州市2025年普通高中初三第一次诊断性测试化学试题含解析.doc
- 临汾市吉县2024-2025学年数学六上期末学业水平测试试题含解析.doc
- 临桂县2025届四年级数学第一学期期末考试模拟试题含解析.doc
- 临沂市蒙阴县2025届数学六年级第一学期期末检测模拟试题含解析.doc
- 临夏回族自治州和政县2025届四上数学期末质量检测试题含解析.doc
- 林芝市重点中学2024-2025学年高三下第二次质检物理试题试卷含解析.doc
- 林州市第一中学2025年高三下学期第四次验收(期末)考试数学试题含解析.doc
- 柳城县2024年三年级数学第一学期期末联考试题含解析.doc
最近下载
- GB∕T 22670-2018 变频器供电三相笼型感应电动机试验方法(高清版).pdf
- 2023年广东茂名信宜市村(社区)后备干部选聘225人笔试历年难易错点考题荟萃附带答案详解.docx VIP
- DB31╱831-2014 镀膜玻璃单位产品能源消耗限额.pdf VIP
- DB11_T 854-2023 占道作业交通安全设施设置技术要求.docx
- 房屋建筑安全专项施工专业技术方案.doc VIP
- 生猪屠宰兽医卫生检验人员理论考试题库及答案.docx
- 学习材料:纪检监察案件审理工作培训资料三套合辑.docx VIP
- GB+40879-2021数据中心能效限定值及能效等级.docx VIP
- 2015年关于平安渔业创建活动的汇报.doc
- 初中七年级英语翻译专项集中训练100题(含参考答案).pdf VIP
文档评论(0)