gpt4 book ai didi

c# - 碰撞时播放随机声音片段 (Unity)

转载 作者:行者123 更新时间:2023-11-30 18:46:11 24 4
gpt4 key购买 nike

我有 4 个声音文件,它们是我希望播放器在与地面碰撞时发出的着陆噪音,目前没有声音播放。 C# 和编程新手需要一些帮助。

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(AudioSource))]
public class Bhop : MonoBehaviour{

public AudioClip[] list;
AudioSource audio;
CharacterController characterController;
int number;

void Start ()
{
audio = GetComponent<AudioSource>();
characterController = GetComponent<CharacterController>();
//Loading the items into the array
list = new AudioClip[]
{
(AudioClip)Resources.Load("Sound/jumplanding1.wav"),
(AudioClip)Resources.Load("Sound/jumplanding2.wav"),
(AudioClip)Resources.Load("Sound/jumplanding3.wav"),
(AudioClip)Resources.Load("Sound/jumplanding4.wav")
};
}

void OnCollisionEnter (Collision col)
{
int number;
number = Random.Range(0, list.Length);


if (col.gameObject.name == "Sound")
{
audio.PlayOneShot(list[number], 0.5f);
}
}
}

最佳答案

这里是 friend

说明:1 - 将其附加到任何游戏对象2 - 将带有 AudioSource 组件的游戏对象放置到 mySource3 - 假设您有 3 个要使用的音频剪辑,将范围扫描和我的音频元素都设置为 34 - 添加您的 3 个剪辑作为元素5 - 启用调试以获取控制台上的剪辑列表,但它们也会在您玩游戏时显示在编辑器上

提示:这是启用的,所以每次启用此对象时,它都会运行一个新范围并分配剪辑,希望它能帮助我花了大约 5 分钟,如果这对你有帮助,请考虑关注我的 facebook 开发组 HERE

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class randomSound : MonoBehaviour {


public AudioSource mySource;
public int rangeScan;
public AudioClip[] myAudio;
public int toPlay;
public bool debugging;

void OnEnable () {
toPlay = Random.Range(0,rangeScan);
if (debugging) {
foreach (AudioClip value in myAudio) {
print (value);
}
}
mySource.PlayOneShot(myAudio[toPlay], 0.9F);
mySource.Play ();
}
}

关于c# - 碰撞时播放随机声音片段 (Unity),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com