在为武器增加了开火功能后,是武器可以开火并在被击中的物体上施加冲击力并且留下弹孔。但是此时武器只能够半自动射击,而且没有音效,这次便将要为武器增加全自动射击功能并添加音效。
全自动射击
为了使枪械自动射击,需要确定鼠标的输入状态,如果按住不放,就持续射击。
代码如上,利用Mathf.Abs()方法判定用户是否一直按住鼠标鼠标,若一直按着鼠标,则返回值将会始终比零大。之后还要判定枪口火光的粒子特效是否播完后再播放下一次闪光,防止粒子特效显示不正常。最后利用shootRate控制射速,nextShootTime为float类型。
播放音效
便案例中将会使用通用的Helper类进行音效的播放,分别为一个AudioManager音频管理器和一个Sound类
AudioManager
Sound类
sound类保存了音频文件的名称,音量,音调,是否循环等属性,AudioManager包含一个列表,列表内有音频片段,该音频片段可以在游戏任意脚本中调用。
创建空对象并将脚本拖至其上