質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

3099閲覧

Unityで効果音を鳴らしたいです

so_0610

総合スコア2

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/08/16 04:34

編集2020/08/16 06:05

前提・実現したいこと

Unityでボタンを押した時に特定のキーを押していたら音がなるという風にしたいです。

発生している問題

実行しても何も起こりません。

プログラム

初心者で全然わからないのでネットで拾ったのをくっつけて作ったのでわかる人にとってはめちゃくちゃなことしてると思うのですがどうか大目に見てください…

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Test : MonoBehaviour { public AudioClip sound1; public AudioClip sound2; public AudioClip sound3; public AudioClip sound4; AudioSource audioSource; void Start () { audioSource = GetComponent<AudioSource>(); } public void OnButtonClick() { KokaOn(); } void KokaOn() {      if (Input.GetKey(KeyCode.Q)) { audioSource.PlayOneShot(sound1); } else if (Input.GetKey(KeyCode.W)) { audioSource.PlayOneShot(sound2); } else if (Input.GetKey(KeyCode.E)) { audioSource.PlayOneShot(sound3); } else if (Input.GetKey(KeyCode.R)) { audioSource.PlayOneShot(sound4); } } }

追記

確認したところ、エラーが出ていました。

ArgumentNullException: Value cannot be null. Parameter name: source UnityEngine.AudioSource.PlayOneShot (UnityEngine.AudioClip clip, System.Single volumeScale) (at /Users/builduser/buildslave/unity/build/Modules/Audio/Public/ScriptBindings/Audio.bindings.cs:855) UnityEngine.AudioSource.PlayOneShot (UnityEngine.AudioClip clip) (at /Users/builduser/buildslave/unity/build/Modules/Audio/Public/ScriptBindings/Audio.bindings.cs:844) Test.KokaOn () (at Assets/Test.cs:24) Test.OnButtonClick () (at Assets/Test.cs:19) UnityEngine.Events.InvokableCall.Invoke () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:180) UnityEngine.Events.UnityEvent.Invoke () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_0.cs:58) UnityEngine.UI.Button.Press () (at /Users/(名前)/Desktop/2020.1.0f1/Unity.app/Contents/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:68) UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at /Users/(名前)/Desktop/2020.1.0f1/Unity.app/Contents/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:110) UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at /Users/(名前)/Desktop/2020.1.0f1/Unity.app/Contents/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:50) UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at /Users/(名前)/Desktop/2020.1.0f1/Unity.app/Contents/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:261) UnityEngine.EventSystems.EventSystem:Update() (at /Users/(名前)/Desktop/2020.1.0f1/Unity.app/Contents/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/EventSystem.cs:376)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2020/08/16 05:51 編集

「Debug.Log」等を使って、どこまで正しく実行されているか確認して、質問に追記してください。(本当にOnButtonClickが呼ばれているか?等)(Debug.Logの使い方が分からない場合は「unity Debug.Log」等で調べてください)
sakura_hana

2020/08/16 06:14

>追記に対して エラーが出た時はまずそれを読んだりググったりしましょう。 「ArgumentNullException: Value cannot be null. Parameter name: source UnityEngine.AudioSource.PlayOneShot」とあるので、 「PlayOneShotに渡している要素がnull」つまり「sound1 〜 sound4」がnullであると推測されます。 これらをちゃんとインスペクタ上でセットしていますか?
so_0610

2020/08/16 06:22

セットしているはずなんです…
guest

回答1

0

自己解決

スクリプトをサウンドソースに貼って試したところ鳴りました!sakuraさんありがとうございました!

投稿2020/08/16 06:23

so_0610

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問