项目讲解文档(初版).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目讲解文档(初版)

unity游戏集成Game Center a、在xcode中编写插件 理论上我们可以不写一行Objective-C 代码就能够发布一款使用Unity 制作的iOS 游戏,但问题是当我们需要集成一些iOS 平台专有的功能,比如Game Center 或内消费(游戏内消费)功能,我们就不得不与Objective-C 打交道, 在Xcode 中为Unity 编写插件,使Unity游戏也能使用到上述功能。 b、 游戏UI 屏幕上会显示主角的装甲以及得分。如果游戏结束,屏幕上将会显示“游戏结束”,同时显示“再来一次”的按钮。 c、 主角 主角拥有3级装甲(血量),被敌人几种或者撞击1此,损失1级装甲,当装甲为0时,游戏结束。主角的移动控制分为两种:1,键盘W、S、A、D可以控制移动;2,鼠标点击可以控制主角移动,点击后,主角移动至点击位置。主角的子弹发射通过鼠标左键控制。 d、 敌人 游戏中存在两种敌人,一种为不能发射子弹的普通敌人;另一种为可以发射子弹的高级敌人。 游戏美术资源 模型:己方主角飞机,敌方两种飞机,敌方高级飞机用于碰撞检测的mesh,己方和敌方的子弹模型。 音效:游戏的主背景音效,己方主角飞机发射子弹的音效,己方主角飞机死亡的爆炸音效。 贴图:模型对已贴图,背景星空图,gizmos贴图,爆炸特效材质贴图。 粒子特效:己方飞机和敌方飞机的爆炸特效。 分析游戏需求以及unity的对应解决方案 项目基本可以分解为五个部分: 游戏管理器:用于播放背景音乐,存储玩家历史得分和当前得分,游戏暂停和重新开始等主体功能; 解:管理器可通过Awake方法进行分数,主角等变量的初始化;由于要控制游戏的暂停相应,所以可以使用Update方法进行事件监听,同时,由于背景音效要一直播放,所有播放音效也可以放在Update方法中;游戏中会展示玩家得分和按钮等,可以在OnGUI方法中对以上对象进行绘制。 玩家:用于控制主角飞机的移动以及发射子弹等功能; 解:玩家脚本可以通过Start方法进行音效、玩家对象的变换信息等变量的初始化;由于玩家控制是通过鼠标或者键盘,所以这些功能可以使用Update方法进行监听。鼠标控制玩家移动需要获取鼠标点击的位置信息,通过unity中的射线检测来完成功能;由于敌方子弹或者敌人撞击到玩家后,玩家会进行减血或者销毁,所以需要进行碰撞检测,可以使用OnTriggerEnter(Collider other)方法进行碰撞触发检测。 c、敌方:用于控制敌方飞机的AI; 解:敌方AI分为两种,所以使用继承的方式来实现。敌方单位的AI比较简单,主要包含两项功能:1、移动;2、发射子弹。在敌方脚本中,可以使用Start或者Awake方法进行变量的初始化工作。由于两种敌人的移动方式不一样,所以可以将敌人的移动抽离成一个方法,通过方法的复写达到不一样的移动方式。由于敌人一直处于移动或者发射子弹中,所以上述抽离的方法可以由Update方法持续调用。 d、敌方生成控制器:用于管理敌方单位的生成。 解:在敌人生成器中,可以使用Start方法进行变量的初始化;由于游戏没有尽头,所以敌方单位是一直在生成的,所以生成逻辑可以使用Update方法进行实现。为了便于开发,可以使用OnDrawGizmos方法在场景中绘制一张图片来展示生成器。 e、子弹脚本:用于控制子弹的检测和移动。 解:游戏中子弹也分为两种:己方子弹和敌方子弹,所以同样可以通过继承的方式实现。子弹的逻辑很简单,只有两项功能:1、向前移动;2、进行攻击检测。由于子弹一直在向前移动,所以可以通过父类的Update方法进行控制。攻击检测可以使用Unity中的触发器OnTriggerEnter(Collider other)进行检测,由于己方子弹和敌方子弹检测的目标不一样,所以,需要在子类中重新进行检测,以覆盖掉父类的检测。同样的,可以通过Start方法对子弹的变量进行初始化。 项目UML UML解释: a、 …… 依赖:一种使用的关系,即一个类的实现需要另一个类的协助; —— 泛化:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。 b、UML类图主要有两条主线,上图中为分别使用红色椭圆包围起来的1和2。 c、1主要用来管理游戏的主逻辑以及玩家的相关控制;2主要用来生成敌方单位并且控制敌方AI。 d、敌方单位和子弹都拥有两种,所以采用一种继承关系。 UML延展问题: 如何在unity中实现对象的引用? 如何使用c#实现继承? Unity的碰撞检测机制是什么? Unity的原生GUI的绘制原理是什么? Unity中Animation动画如何制作? 讲解项目代码 示例: void MoveTo() { i

文档评论(0)

taotao0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档