2016-07-01 8 views
0

PlayClipAtPoint()を使用するには大きすぎるオーディオクリップを再生しようとしています。後で再生を停止する必要があります。長いaudiosource/audioclipを再生する

public class GridPower: MonoBehaviour { 

    private AudioSource audiosource; 
    public AudioClip poweroff; 
    int k; 

    void Start() 
     { 
     audiosource= GetComponent<AudioSource>(); 
     k = 1; 
     } 

    void Update() 
     { 
     if (PlayLevel1.percentageLoadProductionint < 100 && StateManager.activeState is PlayState && Time.timeSinceLevelLoad > 1 && k== 1) 
      { 
      audiosource.clip = poweroff; 
      audiosource.Play(); 
      k = 2; 
      } 
     } 
} 

私はいくつかの文書に従っていますが、スクリプトが配置されているゲームオブジェクトにAudioSourceが添付されていないことを示しています。

お手伝いできますか?

答えて

3

これは完全に間違っています。 "AudioClip"の言及をすべて削除してください。コードではを絶対に使用しないでください。

(1)空のゲームオブジェクトを作成します(「テスト」と呼ばれます)。 (2)AudioSourceをあなたの好きなオーディオに置きます。 (3)あなたのスクリプトで、テスト時にAudioSourceをピックアップするpublic inspector変数を用意してください。 (4)ちょうどそのオーディオソースを再生します。正直なところ、それは単純です。おそらく20種類の歌があるとします。 には、「テスト」のような20種類のゲームオブジェクトがあります。本当に単純です。

プロジェクトには500の効果音があるとします。あなたは単に500種類のゲームオブジェクト(例では「テスト」のようなもの)を持っていて、それぞれ異なるサウンドを持っています。ユニティでの素晴らしい機能は、選択され、ドラッグして(100効果音を言う -

注意を(。もちろん、ただきちんとそれを維持するために、「下」、それらすべてを座って、1つの空のゲームオブジェクトを持っています)どのようなオーディオでも)をシーンに挿入することができます。それぞれをゲームオブジェクトに配置することを「知っている」ことに注意してください。これはUnity5の巨大な追加でした。

これは単純です。

+0

オーディオソースを再生するにはどうすればよいですか? –

+0

@GrowAnimation#3からその変数の '.Play()/ .Stop()'を呼び出します。 @ GunnarB。 –

+0

おいここに挑戦している... http://stackoverflow.com/questions/38336835 – Fattie

関連する問題