【unity新手向】为什么给物体添加Audio Source组件,在代码中Play()播放没有声音?
·
如果你一切的参数以及环境都检查没有问题,
答案就是:你销毁物品销毁的太快了,导致还没有开始播放音频物体就已经被销毁了,那么这个播放音频的动作也就会被立即停止。
过程:
这个问题是我在做水果忍者,切水果添加音效时遇到的问题。
这是我出现问题的代码,这段代码的作用是当fruit遇到刀片的时候,在原位置立刻生成sliced fruit,然后销毁原来的fruit。所以为了丰富游戏体验,我就打算给刀片切过水果的时添加一个音效,但是由于我是初学者,所以说我直接把Audio Source组件添加到fruit上了,然后播放音效的一行代码audio.Play();就直接加到了这段代码中。
很明显我忽略了这部分代码中,随后会立刻销毁水果的部分,也不知道销毁fruit时,会使播放音频的动作也随之被销毁(所以说新手在添加新功能的时候还是要注意这一点的,而且要对自己写过的代码以及对自己项目架构更加熟悉才行)。

解决办法很简单,那就是把Audio Source组件添加到sliced fruit上面就可以了,并且不需要单独再写一个C#代码文件,因为该组件中有一个Play On Awake选项,也就是生成该组件时自动播放音频,非常方便,如果你也是在制作水果忍者出现了这样问题就可以参考我这种方法。

其他:
中文网络基本上都是在说你的环境或者参数上有问题根本搜不到解决办法,but,我用英文一搜就直接搜到了解决办法,原文链接:https://stackoverflow.com/questions/79194616/unity-audio-sound-doesnt-play
现在我算是终于理解了为什么说要学会用英文搜问题,学会去英文论坛上找方法的重要性了,还是得尽早锻炼英文搜索的能力啊。。。
更多推荐
所有评论(0)