Unity3D AudioSource 没有附加到对象?
Unity3D AudioSource not being attached to Object?
所以嘿。我有一个音频源组件附加到我的对象。我还从 here 复制了脚本并将其附加到我的对象。
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class ExampleClass : MonoBehaviour
{
public AudioClip impact;
AudioSource audio;
void Start()
{
audio = GetComponent<AudioSource>();
}
public void play_sound()
{
audio.PlayOneShot(impact, 0.7F);
}
}
但是当我尝试在我的脚本中使用音频时,我把它剪掉了
有什么问题?
您继承自 MonoBehaviour
,后者继承自 Behaviour
,然后继承自 Component
,其中声明了一些变量,例如:
public Component animation { get; }
public Component audio { get; }
public Component camera { get; }
public Component collider { get; }
public Component collider2D { get; }
public Component constantForce { get; }
public Component guiElement { get; }
public Component guiText { get; }
public Component guiTexture { get; }
public Component hingeJoint { get; }
public Component light { get; }
public Component networkView { get; }
public Component particleEmitter { get;
public Component particleSystem { get; }
public Component renderer { get; }
public Component rigidbody { get; }
public Component rigidbody2D { get; }
这些都已弃用并且不再允许在最新版本的 Unity 中使用。我相信它从 Unity 5 开始就被弃用了。您链接的文档尚未更新。有关详细信息,请参阅 post。
您所要做的就是将您的音频变量重命名为其他名称,一切都会正常工作。
public AudioClip impact;
AudioSource myAudio;
void Start()
{
myAudio = GetComponent<AudioSource>();
}
public void play_sound()
{
myAudio.PlayOneShot(impact, 0.7F);
}
所以嘿。我有一个音频源组件附加到我的对象。我还从 here 复制了脚本并将其附加到我的对象。
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class ExampleClass : MonoBehaviour
{
public AudioClip impact;
AudioSource audio;
void Start()
{
audio = GetComponent<AudioSource>();
}
public void play_sound()
{
audio.PlayOneShot(impact, 0.7F);
}
}
但是当我尝试在我的脚本中使用音频时,我把它剪掉了
有什么问题?
您继承自 MonoBehaviour
,后者继承自 Behaviour
,然后继承自 Component
,其中声明了一些变量,例如:
public Component animation { get; }
public Component audio { get; }
public Component camera { get; }
public Component collider { get; }
public Component collider2D { get; }
public Component constantForce { get; }
public Component guiElement { get; }
public Component guiText { get; }
public Component guiTexture { get; }
public Component hingeJoint { get; }
public Component light { get; }
public Component networkView { get; }
public Component particleEmitter { get;
public Component particleSystem { get; }
public Component renderer { get; }
public Component rigidbody { get; }
public Component rigidbody2D { get; }
这些都已弃用并且不再允许在最新版本的 Unity 中使用。我相信它从 Unity 5 开始就被弃用了。您链接的文档尚未更新。有关详细信息,请参阅
您所要做的就是将您的音频变量重命名为其他名称,一切都会正常工作。
public AudioClip impact;
AudioSource myAudio;
void Start()
{
myAudio = GetComponent<AudioSource>();
}
public void play_sound()
{
myAudio.PlayOneShot(impact, 0.7F);
}