取り組んでいること
私は、今自分のゲームの中でコインを取ったら音が鳴るようにしようと思いこのようなコードをボールに取り付けているBallMoveというスクリプトに追加しました。
private void OnTriggerEnter(Collider other) { if (other.CompareTag("Coin")) { //コイン破棄 Destroy(other.gameObject); //コインを取ったらカウント coinCount += 1; //まだ実装できていない coinCount_ver2 = coinCount; scoreLabel.text = coinCount_ver2 + "/15"; //消えたコインの位置で音が鳴る AudioSource.PlayClipAtPoint(coinGet, transform.position); } }
わからないこと
破壊されたオブジェクトから・指定した場所から音再生!PlayClipAtPointの説明と使い方の中ではスクリプトに上で書いたスクリプトを書いたら音が鳴るという風に説明されていたのですが実際にやってみると音は鳴りませんでした。設定をどのようにすれば音はなるのでしょうか?
※一応、Mute Audioの方もOFFにした状態でやり、coinGetという変数にもインスペクターの方で音のファイルを入れています。
・「Debug.Log(〜);」などを用いて、本当にスクリプトが実行されているか確認してください。
(例えば衝突自体が起こっていないとか、タグを間違えて"coin"にしているとかだと何も起こりません)
・エラーが起こっていないか確認してください。
(例えば「scoreLabel.text」でNullReferenceエラーが起こっていたりすると以降の処理が行われず結果的に音が鳴りません)
・スピーカーがミュートになっていないか、AudioClipファイルが壊れていないかを確認してください。
(念の為のチェックです)
今、確認したところコインの破棄やカウントは正常に動いているためスクリプトの内は正しいと思います。しかし、MainCameraの方にAudioSourceとAudioListenerを付けて試しに聞いてみた所、どの音を使っても何も聞こえませんでした。
となると怪しいのはパソコン本体の音量やオーディオソースの原音量やAudioClipの音量ですね、コード自体が通っているなら問題は別のところかもしれません。
返信遅くなり申し訳ありません。パソコンのサウンド設定の方でUnityの音がミュートにされていたのを解除したら音が聞こえるようになりました。
解決して何よりです。後からこのページを見た人の為、自己回答してクローズをお願いします。
回答1件
あなたの回答
tips
プレビュー