Unity学习笔记(三)----Space Shooter
来源:互联网 发布:西安seo任兴华 编辑:程序博客网 时间:2024/05/21 17:33
停了好几天没写,颓废,总结一下前几天的学习。
1.Audio和Text部分
Audio部分只有射击时的音效添加在PlayerController脚本里,在按下"Fire1"时,向音频组件中的AudioClip拖入了用到的音频剪辑,获取绑定在Player上的音频组件并进行播放。
代码如下:
Text部分通过添加UI中的text进行处理,主要的代码在GameController里面添加。
首先是分数ScoreText的处理,在GameController添加了两个函数。一个是公有的AddScore()函数,用来在障碍物被毁灭的时候添加分数。一个是UpdateScore()用来更新ScoreText里面显示的分数,在AddScore()中增加完分数后还要调用UpdateScore()显示新的分数。AddScore()这个函数主要用在DestroyByContact()中,在障碍物被破坏时调用。
其次是GameOverText的处理,先在GameController里定义了一个GameOver函数,用于显示文本,和表示游戏结束。这个在Player被破坏时被调用。
最后是ReStartText的处理,先要定义两个布尔型变量,一个gameover,一个restart,在调用GameOver函数后,gameover就被置为true,然后在最后一波障碍物生成完后,使RestartText里面显示Press "R" to Restart,并令restart为true。在下一帧检测restart的值,若为true,检测R键是否被按下,被按下则重新载入场景。
利用 SceneManager.LoadScene(SceneManager.GetActiveScene().name)可实现重新载入当前场景。
至此SpaceShooter这个游戏就算完成了。官网还有扩展内容,不过没找到翻译,是全英文的,听着好痛苦。
2.关于协同Coroutine函数
下面是我的理解,首先协同函数不是多线程,是在主线程内的每帧Update进行假的并行,主要可以用来做以下几件事:1.定时器,固定时间后运行、定期执行等等。非协程的做法有直接使用Update()或者Invoke();2.将复杂的操作分帧;3.保证一段代码只同时被一个协程进入;4.串联几个持续性的逻辑。
具体的用法在实际操作中如果用到会记录下来,到时候再具体分析。
以上。
- Unity学习笔记(三)----Space Shooter
- Unity学习笔记(一)----Space Shooter
- Unity学习笔记(二)----Space Shooter
- unity官方教程Space Shooter 学习笔记
- Part2:Unity学习笔记十 - Space Shooter
- Part2:Unity学习笔记十一 - Space Shooter
- unity space shooter 学习
- Unity3D学习笔记《Space Shooter》三
- Unity学习笔记三 - Survival Shooter Tutorial
- unity官方教程Space shooter学习笔记-01
- unity官方教程Space shooter学习笔记-02
- Unity学习笔记(四)----Survival Shooter
- Unity学习笔记(五)----Survival Shooter
- Unity笔记 SPACE SHOOTER 实例详解
- unity官方教程space shooter 学习文档
- Unity3D学习笔记《Space Shooter》一
- Unity3D学习笔记《Space Shooter》二
- Part2:Unity学习笔记十二 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- [阶段二]Android事件处理
- HDU 1171 Big Event in HDU 多重背包 .
- 项目1-星号拼字母
- 深入理解Java的接口和抽象类
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- Unity学习笔记(三)----Space Shooter
- 289. Game of Life
- Octave使用所遇到的问题
- 内核态和用户态的区别
- 傅里叶变换与小波变换
- Jetty-为web应用添加网页
- 第十二天
- vsync, hsync, VBLANK
- Linux(1)