zoukankan      html  css  js  c++  java
  • 用AudioSource.PlayClipAtPoint播放音效

    游戏中的声音通常可以分为音乐和音效,音乐通常时间较长,且需要循环播放,音效则时间较短,不需要循环播放。

    播放声音的方式常见有两种:

    1.建立一个空物体,为每一个音乐或音效添加AudioSource,给每个AudioSource添加相应的声音剪辑,播放时,获取各个AudioSource组件来播放声音。

    2.建立一个空物体,添加一个AudioSource用来播放背景音乐;再添加一个Audiosource,用来播放音效,该组件的Audio Clip属性,在运行时根据需要播放的声音,赋予不同的声音剪辑,以此实现一个AudioSource,播放多个音效。这种方法的问题是,当有多个音效需要同时播放时,后播放的音效会终止先播放的音效。解决办法:给所有音效分组,不可能同时播放的音效为一组,再为每一组音效添加一个AudioSource。

    还有一种方法:static void PlayClipAtPoint(AudioClip clip,Vector3 position, float volume = 1.0F);

    使用AudioSource.PlayClipAtPoint播放声音,会自动生成一个名为"One shot audio"的物体,并自动添加了AudioSource和相应的audioclip,同时播放多个声音时会生成多个同名的物体,各声音的播放互不影响,但缺点是只能设置音量,位置,不能设置loop(当然也不是不能实现的,只是比较麻烦),还有一些特殊的声音效果也不易实现,只能播放一次,播放完成后,One shot audio自动销毁。

     

     

    所以可以看出,在只需要播放简单的音效时,可以使用PlayClipAtPoint来播放,不需要添加AudioSource,不需要获取各个AudioSource的引用,就可以直接播放声音。

  • 相关阅读:
    c++求最大公约数、最小公倍数
    五个简单的shell脚本
    微信小程序slot(一)
    小程序详解子传父
    小程序封装组件详解父传子
    小程序生命周期详解
    小程序之confirm-type改变键盘右下角的内容和input按钮详解
    小程序之按钮你不知道的v2
    小程序image图片缩小不变形
    小程序之navigator跳转方式
  • 原文地址:https://www.cnblogs.com/Dearmyh/p/10011366.html
Copyright © 2011-2022 走看看