【发布时间】:2018-11-12 02:01:37
【问题描述】:
我试图在玩家杀死敌人时触发声音,如下面的代码所示。虽然与敌人碰撞会导致其被摧毁并成功提高击杀数,但它不会产生所需的声音。当玩家跳跃时,类似的脚本确实会触发声音,所以我不确定我做错了什么。
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);
}
}
【问题讨论】:
-
只是一个猜测,但在你销毁游戏对象之前可能没有时间玩?如果你把
Destroy注释掉怎么办? -
就是这样。谢谢你,Crowcoder!