回答編集履歴

1

追記

2020/01/17 04:26

投稿

Y0241-N
Y0241-N

スコア1066

test CHANGED
@@ -5,3 +5,71 @@
5
5
  audiosorce.PlayOneShot(audios[i]);で可能だと思います。
6
6
 
7
7
  ランダム数値を変更したい際は再度i = Random.Range(0,audios.Length);を行えば都度数値が変化します。
8
+
9
+
10
+
11
+ 追記
12
+
13
+ if文の条件は個人で設定してください、このままコピペしてもエラーになります。
14
+
15
+ if文を消してUpadateの中でPlayOneShotをそのままにすると毎フレーム音が再生されるので気を付けてください。
16
+
17
+
18
+
19
+ ```cs
20
+
21
+ using System.Collections;
22
+
23
+ using System.Collections.Generic;
24
+
25
+ using UnityEngine;
26
+
27
+
28
+
29
+ public class RandomAudioPlay : MonoBehaviour
30
+
31
+ {
32
+
33
+ public AudioClip[] audios;
34
+
35
+ private AudioSource audioSource;
36
+
37
+ private int i;
38
+
39
+
40
+
41
+ void Start()
42
+
43
+ {
44
+
45
+ audioSource = this.GetComponent<AudioSource>();
46
+
47
+ if(audios != null)
48
+
49
+ {
50
+
51
+ i = Random.Range(0,audios.Length);
52
+
53
+ }
54
+
55
+ }
56
+
57
+
58
+
59
+ void Upadate()
60
+
61
+ {
62
+
63
+ if(/*何らかの条件、例えばボタンが押されたときであったり、物を取った時など*/)
64
+
65
+ {
66
+
67
+ audioSource.PlayOneShot(audios[i]);
68
+
69
+ }
70
+
71
+ }
72
+
73
+ }
74
+
75
+ ```