【Unity2d】如何避免物体被销毁时绑定的音效消失
在2d游戏项目案例(金山打字)中,当我们销毁字母游戏对象时,如果我们使用Audio Source组件播放销毁音效会发现,当我们按下字母销毁物体时,音效并没有如我们预想的一样进行销毁后播放,这是因为游戏对象被销毁了,那么游戏对象所绑定的所有组件都会被销毁,导致无法播放音效,为解决这个问题,博主给大家介绍一种方法,如下:
采用static void PlayClipAtPoint(AudioClip audioClip,Vector3 position,float volume=1.0f),虽然播放的是3D音效,但依旧可以实现我们的功能,因为使用AudioSource.PlayClipAtPoint()播放声音,会在层级面板自动生成一个名为"One shot audio"的物体,播放完后自动删除,但还是存在音量较小的问题,解决音量的问题,因为PlayClipAtPoint()的音效大小与摄像机的位置有关,我们只需要把Main Camera的高度给调低即可,相机越靠近背景图层,音量越大。代码如下:
public AudioClip audioClip;public float speed;public string alphabet;public static int score = 0;void Start(){//speed = Random.Range(0.8f, 1.5f);//简单speed = Random.Range(3f, 5f); ;//中等}// Update is called once per framevoid Update(){transform.Translate(Vector3.down * Time.deltaTime * speed);if (Input.GetKeyDown(alphabet)){AudioSource.PlayClipAtPoint(audioClip, Vector3.zero, 1.0f);//播放音效Destroy(this.gameObject);score++;}if (transform.position.y < -3.5f){Destroy(this.gameObject);}}
再给大家介绍一下播放2D音效的函数:static void PlayOneShot(AudioClip audioClip,float volume=1.0f),但PlayOneShot()不像PlayClipAtPoint()一样,PlayOneShot()需要实例化对象才可以实现,即需要绑定AudioSource组件,这样又回到了最初我们未解决上述问题的状态,针对销毁音效不可行,下面是该函数的使用规范:
public AudioClip audioClip;public AudioSource audioSource;audioSource.PlayOneShot(audioClip, 1.0f);//需放入函数中
【Unity2d】如何避免物体被销毁时绑定的音效消失相关推荐
- unity3d中避免游戏物体绑定的音频在物体被销毁时无法播放
之前的代码段如下: public AudioSource audioSource;Update(){if(audioSource!=null){audioSource.play();Destory(g ...
- Android开发——异步任务中Activity销毁时的问题
0. 前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment ...
- Unity3D中关于场景销毁时事件调用顺序的一点记录
先说一下我遇到的问题,我弄了一个对象池管理多个对象,对象池绑定在一个GameObject上,每个对象在OnBecameInvisible时会进行回收(即移出屏幕就回收),但是当场景切换或停止运行程序时 ...
- 物体摧毁时发出摧毁音效
物体摧毁时发出摧毁音效 -- -- 遇到一个这样的需求:当子弹和敌人接触时,子弹会消失,然后同时发出摧毁敌人的音效. 于是我就把子弹消失(Destroy)和摧毁敌人的音效(Play)一起放在碰撞检测的 ...
- ActiveReports中如何在后台导出运行时绑定数据源报表
ActiveReports支持运行时绑定数据源功能,这种绑定数据源方法使用较为普及,然而很多系统中都需要在后台导出报表文件,所以用户就很困惑,ActiveReports中如何在后台导出运行时绑定数据源 ...
- 市内移出版本2.0(1、一页显示15条。2、增加控制标志。3、打印表格时绑定的list的优化。4、保存迁出登记信息时根据业务流水号判断增加还是修改。5、统一管理常量)
HjdjConstants.java package cn.hnisi.gdrk.utils; /** * * @author yanghanming * @function 存放户籍登记的相关常量 ...
- C专家编程 第11章 你懂得C,所以C++不再话下 11.13 多态---运行时绑定
多态---运行时绑定 多态(polymorphism)源于希腊语,意思是"多种形状".在C++中,它的意思是支持相关的对象具有不同的成员函数(但原型相同),并允许对象与适当 ...
- 物体平动时的质量和转动时的转动惯量有何相似之处
https://zhidao.baidu.com/question/2076906996497031068.html 物体的质量m是表示所含的物质的多少,是客观存在的:而物体绕某轴的转zhuan动惯量 ...
- Axure9.0---输入文字时文本框提示消失
Axure9.0---输入文字时文本框提示消失 用户名输入框设置 选择交互 Tips:关于设置密码格式 用户名输入框设置 在default元件库选择文本框,并将其拖入工作区 选择交互 2.选中想要设置 ...
最新文章
- 基础004:R语言数据处理和变换——dplyr
- 卡巴斯基7.0防病毒官方中文版
- BCH表现良好,BTC调整蓄势
- python画图-用Python画图
- SP2-0110: Cannot create save file afiedt.buf
- 牛逼轰轰!GitHub 上 Star 量最高的 5 个机器学习项目
- Java之ThreadLocal
- css alpha滤镜
- HBASE学习笔记--概述
- 卡函数or1200基于simple-spi的SD卡驱动
- 分布式ID生成之雪花算法
- springmvc 使用
- vc 6.0下msdev错误
- uC/os内存优化——TLSF算法
- OpenCV图像锐化
- 计算机与3d打印导板,计算机导航系统、3D打印截骨导板与传统器械对全膝关节置换术手术时间和下肢力线恢复的影响...
- HoloLens初入——研究模式
- opencv-python将两个文件夹下的照片拼接一起,然后保存
- Linux命令--lsof
- 国密SM3加密算法工具类(非对称)