2017-01-26 19 views
1

パーティクルシステムとサウンドについて言えば、私の質問はパーティクルシステムである事実に関連していることを100%保証しているわけではありません。私のゲームは、私のボールが火の中を飛んできたら、それはサウンドを再生するはずです、それはAudioSourceを見つけることができず、AUdioSourceが接続されていないと言い続けることですが、私はすでに2つの方法インスペクタを使用してプライベートに設定して、gameObjectのaudioSOurceのコンポーネントを取得します。何が間違っていますか? :SAudioSourceはパーティクルシステムではうまく動作しません

ここではコードです:

using UnityEngine; 
using System.Collections; 

public class particlCol : MonoBehaviour { 

    Manager gameManager; 
    public AudioClip aud; 
    private AudioSource audioC; 

    void Start() 
    { 
     audioC = GetComponent<AudioSource>(); 
     gameManager = GameObject.Find ("GameController").GetComponent<Manager>(); 
    } 

    void OnParticleCollision(GameObject other) 
    { 

     if (other.tag == "Player") { 
      Debug.Log ("entrou"); 
      audioC.clip = aud; 
      audioC.Play(); 
      gameManager.LifeDown(); 
     } 
    } 
} 

オブジェクトのスクリーンショット:

screenshot

シモンズ:それは、前に完全に働いたことは火を触れたとき、私は命を失ったが、私の試合では問題はコリジョンそのものではありません。

+0

は?あなたは私たちに、階層のスクリーンショットのプロパティを表示することができますオブジェクトは含まれていますか? – Serlite

+0

同じgameobjectに添付されていますが、私はparticlegameオブジェクトのスクリプトを持っていますが、スクリーンショットを2分 –

答えて

0

チェックインの方法はあなたのオーディオです

void Awake() 
{ 
    Debug.Log("AudioSource: " + GetComponent<AudioSource>()); 
} 

かを試してください:

[RequireComponent(typeof(AudioSource))] 

そして、私はバグがので、あなたのサウンドを再インポートしようとするオーディオクリップによって引き起こされることを読んで、このようなソースはnull何か。

1

あなたは一つのことを行うことができます

が目を覚まし財産上の遊びのチェックを外し、uがしたい階層に遊ぶことのオーディオを取る、gameObjを作成し、彼らはそれ以上のゲームオブジェクトの子にします。

、スクリプトを作成し、そのスクリプトではAudioSource変数を作成し、スタートでは、()を実行します。 //例

パブリックはAudioSourceシュートを。

Start(){

shoot = GetComponent();

}

//

今以上作らゲームオブジェクトにこのスクリプトを添付し、(それ以外の場合はどれも表示されません)スクリプトはAudioSource変数オプションの子だったウルサウンドファイルを添付して、それのthats。

今uはuのを再生するためにその音を作るたいところはどこでも、ちょうどそのスクリプトを呼び出す必要があり(オブジェクトコンポーネント?としてあなたはAudioSourceに位置しています

関連する問題