我有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);
}
}
}
col.gameObject.name == "Sound"
是否为真? - Jacob LambertResources/Sound
文件夹中的声音资源。为了确保,您可以将每个剪辑拖放到检查器列表中,而不是在Start()
中加载它们。 - Geri Borbás