用3dunity制作飞机射击游戏.docxVIP

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

操作系统实验游戏:打飞机实验小组名单:窦晓磊设计主要完成的任务解决的主要问题设计一个打飞机游戏能够实现基本的游戏体验解决的主要问题解决飞机的控制问题。解决子弹与飞机的碰撞问题。解决敌方飞机的刷新问题设计的基本概念利用unity3d的一些函数来构建脚本,将脚本附加给原型使其可以接受控制。总体设计:实现的方法和主要技术路线使用unity3d游戏制作软件进行游戏制作,将网上找到的材料原型增加属性以及添加脚本从而使游戏能够运行。建立Player.cs、Enemy.cs、Bullet.cs、Spaceship.cs、BackGround.cs、DestroyArea.cs、Emitter.cs、Explosion.cs、Manager.cs、Score.cs脚本来建立与模型之间的联系,起到控制飞机,子弹发射,子弹与飞机之间碰撞后的消失,飞机消失的爆炸动画,飞机的飞行区域,背景图案及音乐的设置,敌方飞机的出场以及得分。详细设计:使用的主要控件、函数将从网上下载的飞机资源图片剪裁并制作成动画,己方飞机飞行动画,敌方飞机飞行动画,两方子弹。增添脚本Player.cs:用来控制飞船增添控制方法,速度,飞行区域,物体销毁。public class player : MonoBehaviour {//Spaceship ComponentSpaceship spaceship;// Use this for initializationIEnumerator Start () {spaceship = GetComponentSpaceship ();//持续发射子弹while (true) {spaceship.Shot (transform);//播放音效GetComponentAudioSource().Play();yield return new WaitForSeconds (spaceship.shotDelay);//间隔时间}}// Update is called once per framevoid Update () {//Right,Left//移动float x = Input.GetAxisRaw (Horizontal);//Up,Downfloat y = Input.GetAxisRaw (Vertical);Vector2 direction = new Vector2 (x, y).normalized;spaceship.Move (direction);Clamp ();}void Clamp(){//得到视口坐标0,0的世界坐标Vector2 min = Camera.main.ViewportToWorldPoint (new Vector2 (0, 0));//得到视口坐标1,1的世界坐标Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1));//得到player的世界坐标Vector2 pos = transform.position;//坐标位置校正pos.x = Mathf.Clamp (pos.x, min.x+0.24f, max.x-0.24f);pos.y = Mathf.Clamp (pos.y, min.y+0.32f, max.y-0.32f);transform.position = pos;}//Called at the moment collision happensvoid OnTriggerEnter2D(Collider2D c){//得到碰撞物对象的LayerNamestring layerName=LayerMask.LayerToName(c.gameObject.layer);if (layerName == Bullet(enemy)) {//Delete the bulletDestroy (c.gameObject);}if (layerName == Bullet(enemy) || layerName == Enemy) { FindObjectOfTypeScore().Save();//Delete the playerDestroy (this.gameObject);//Explodespaceship.Explosion ();FindObjectOfTypeManager ().GameOver ();}}}Enemy.cs:用来控制敌方飞机的血量、物理碰撞,销毁。public class Enemy : MonoBehaviour {public int Hp = 1; public int point = 100;Spaces

文档评论(0)

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

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

1亿VIP精品文档

相关文档