【发布时间】:2020-06-04 07:03:52
【问题描述】:
当我尝试运行我的(悲伤的借口)游戏时,我遇到了这个奇怪的统一错误。这是代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ARsound : MonoBehaviour
{
public static AudioClip sound;
static AudioSource audioSrc;
void Start()
{
sound = Resources.Load<AudioClip>("AR SFX");
audioSrc = GetComponent<AudioSource>();
}
public static void playSound()
{
audioSrc.PlayOneShot(sound);
}
}
错误是这样的:
PlayOneShot 使用空音频剪辑播放
即使该音频剪辑看起来并不为空。 以下是一些附加信息:
Gun:Update()(在 Assets/Scripts/Gun.cs:17)
建议?
【问题讨论】:
-
这里没有
while循环。您的问题标题与问题正文的匹配程度也完全不清楚。 -
while循环在哪里!!?
-
我不是指while循环。不好了!那是我要问的另一个问题。现在是凌晨 3 点。所以我有点累。我很抱歉。我把标题改成了我想要的。
-
您是否认为
Resources.Load<AudioClip>("AR SFX");失败了,所以sound很简单null?附加信息Gun:Update() (at Assets/Scripts/Gun.cs:17)根本没有帮助,因为我认为这只是你打电话给ARSound.playSound();的地方...... -
我想通了!我做的有点不同。首先我声明了两个音频源
public AudioSource shootSound; public AudioSource shootFastSound;然后,我做了shootSound = GetComponent<AudioSource>(); shootFastSound = GetComponent<AudioSource>();最后,我做了```private void ShootFast() { shootFastSound.Play(); // 其他代码 }
标签: c# unity3d audio-source audioclip