自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药
2015-02-11 18:38
726 查看
[b]自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药 [/b]
我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的。仅为学习Unity之用。图片大部分是自己画的,少数是从网上搜来的。您可以到我的github页面(https://github.com/bitzhuwei/TankHero-2D)上得到工程源码。
.png]
.png]
本篇主要记录声音、场景切换、武器弹药等。
Rigidbody组件的作用是:接收外力,从而使自身像物理中的刚体一样运动;对其它物体产生力。
若Rigidbody的IsKinimatic为true,则不再接收外力;但会继续对其它物体产生力。
Collider组件的作用是:划定一个空间范围(一个矩形、球形、网格等),Rigidbody组件会检测两个物体的Collider是否发生重合(Enter)持续(Stay)或退出(Exit),并激发双方的Collision事件。如果Collider的Is Trigger为true,则激发双方的Trigger事件。
总之,场景中不断运动的物体,需要Rigidbody,始终静止的物体,不需要Rigidbody。
背景音乐一般放到主摄像机上。
偶尔才发出的声音,比如捡到金币时发出"叮"地声响。直接用AudioSource.PlayClipAtPoint方法就可以。
在持有AudioSource组件的对象上,可以看到一个喇叭,很好玩。这个坦克移动的时候,喇叭也跟着动了。
.png]
请多多指教~
我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的。仅为学习Unity之用。图片大部分是自己画的,少数是从网上搜来的。您可以到我的github页面(https://github.com/bitzhuwei/TankHero-2D)上得到工程源码。
.png]
.png]
本篇主要记录声音、场景切换、武器弹药等。
关于碰撞
先插一句。上一篇记录了Unity3D的碰撞相关的试验结论。但太过漫长,不实用,经过整理,我总结了如下几句。Rigidbody组件的作用是:接收外力,从而使自身像物理中的刚体一样运动;对其它物体产生力。
若Rigidbody的IsKinimatic为true,则不再接收外力;但会继续对其它物体产生力。
Collider组件的作用是:划定一个空间范围(一个矩形、球形、网格等),Rigidbody组件会检测两个物体的Collider是否发生重合(Enter)持续(Stay)或退出(Exit),并激发双方的Collision事件。如果Collider的Is Trigger为true,则激发双方的Trigger事件。
总之,场景中不断运动的物体,需要Rigidbody,始终静止的物体,不需要Rigidbody。
声音
场景里要有1个Audio Listener才能听到声音。距离Audio Listener近的AudioSource发出的声音才能被听到。背景音乐一般放到主摄像机上。
偶尔才发出的声音,比如捡到金币时发出"叮"地声响。直接用AudioSource.PlayClipAtPoint方法就可以。
void OnTriggerEnter2D(Collider2D other) { if (other.tag != Tags.hero) { return; } AudioSource.PlayClipAtPoint(pickedAudioClip, this.transform.position, 0.2f); MonoBehaviour.Destroy(this.gameObject); } |
.png]
场景切换
场景切换时我希望一直保留某个对象,比如游戏控制器这种全局的东西。在脚本里用DontDestroyOnLoad就可以了。void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(this.gameObject); } else { Destroy(this.gameObject); } } |
武器弹药
武器和子弹分别做成prefab,可以自由组合。在Inspector里也比较方便配置了。总结
您可以到我的github页面(https://github.com/bitzhuwei/TankHero-2D)上得到工程源码。请多多指教~
相关文章推荐
- 自制Unity小游戏TankHero-2D(3)开始玩起来
- 自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析
- 自制Unity小游戏TankHero-2D(2)制作敌方坦克
- 自制Unity小游戏TankHero-2D(1)制作主角坦克
- Unity场景切换时传递数据
- Unity 利用协同程序实现场景切换时加载进度的监控
- Unity简单的声音切换渐变实现
- Unity实用小工具或脚本—自制2D碰撞体
- Unity 切换场景
- UIView和Coco2d-x场景之间的相互跳转切换
- Unity初识之场景切换
- android+unity游戏开发基础之场景的切换 ***
- unity主菜单人物换装切换场景
- unity基础开发----切换场景、游戏视图(Game View)、iphone优化
- [置顶] unity 2017.3 + vuforia 7.0 之 AR场景和非AR场景切换
- Unity 利用协同程序实现场景切换时加载进度的监控
- [Unity游戏开发]场景切换
- Unity-3D捕鱼达人小游戏开发 —— 开始场景
- Unity场景切换,屏幕过场淡入淡出
- android+unity游戏开发基础之场景的切换