我如何在杀死敌人时触发声音?

时间:2018-11-11 15:33:40

标签: c# unity3d

我正在尝试在玩家杀死敌人时触发声音,如下面的代码所示。与敌人相撞会导致其被摧毁并成功提高杀伤力,但不会产生所需的声音。播放器跳跃时,类似的脚本确实可以触发声音,所以我不确定自己做错了什么。

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

public class CollectibleItem : MonoBehaviour {
[SerializeField] private string itemName;
[SerializeField] private int pointsValue;
[SerializeField] private AudioSource soundSource;
[SerializeField] private AudioClip killSound;

ScoreBoard board;

void Start() {
    var uiObject = GameObject.Find("Timer");
    ScoreBoard board = uiObject.GetComponent<ScoreBoard>();
}

void OnTriggerEnter(Collider other) {
    soundSource.PlayOneShot(killSound);
    Managers.Inventory.AddItem(itemName);
    Destroy(this.gameObject);
}
}

1 个答案:

答案 0 :(得分:1)

问题是没有对AudioSource组件的引用。 我假设您的AudioSource与此脚本连接到相同的GameObject。只需将以下内容添加到您的Start方法中即可。

soundSource=GetComponent<AudioSource>();

对于您的AudioClip,我也有些怀疑。