2017-04-30 3 views
1

だからねえ。私はオブジェクトにオーディオソースコンポーネントを添付しています。私もhereからスクリプトをコピーし、それを私のオブジェクトに添付しました。Unity3D AudioSourceがオブジェクトにアタッチされていませんか?

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); 
    } 
} 

が、私は私のスクリプトでオーディオを使用しようとすると、私はそれが問題である何 enter image description here

をカット取得?

答えて

1

あなたはこのような、それらの中で宣言いくつかの変数持つComponentから、その後Behaviourから継承MonoBehaviourからinheringされています。これらはすべてを非推奨となり、もはや最新で使用が許可されている

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 5から非難されたと信じています。リンクしたドキュメントはまだ更新されていません。詳細については、this投稿を参照してください。

あなたがしなければならないことは、オーディオ変数の名前を何かに変更するだけです。すべてうまくいくはずです。

public AudioClip impact; 
AudioSource myAudio; 

void Start() 
{ 
    myAudio = GetComponent<AudioSource>(); 
} 

public void play_sound() 
{ 
    myAudio.PlayOneShot(impact, 0.7F); 
} 
関連する問題