回答編集履歴

1

補足

2021/02/10 09:26

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
@@ -1 +1,43 @@
1
1
  ``SoundManager.Instance.PlaySeByName("Coin01");``とかで鳴るんじゃないですかね。
2
+
3
+
4
+
5
+ ``SingletonMonoBehaviour``を継承しているのでシングルトンなのが分かります。
6
+
7
+ 説明すると長くなるのでざっくりいうと、シーンをまたいでも1個だけ必ず存在する存在みたいな感じです。
8
+
9
+
10
+
11
+ ```cs
12
+
13
+ if (this != Instance)
14
+
15
+ {
16
+
17
+ Destroy(gameObject);
18
+
19
+ return;
20
+
21
+ }
22
+
23
+
24
+
25
+ DontDestroyOnLoad(gameObject);
26
+
27
+ ```
28
+
29
+
30
+
31
+ (例えばこの場合だとSoundManagerがあるシーンに何度も移動したら、そのたびにSoundManagerが増えていくことは避けたいです。なので常に1個になるようにInstanceとしてstaticなSoundManagerの参照をとっておいて、それと一致しないSoundManagerは消しています)
32
+
33
+
34
+
35
+ ということは、``SoundManager.Instance``さんを呼び出せば、今存在するであろうSoundManagerを参照して利用することができます。
36
+
37
+
38
+
39
+ あとは利用ページに案内にあるように``PlayBgmByName``でBGMを再生、``PlaySeByName``でSEを名前指定して再生できるそうなので``SoundManager.Instance``さんの``PlaySeByName``を呼び出します。
40
+
41
+
42
+
43
+ ``SoundManager.Instance.PlaySeByName("Coin01");`` となりました。