回答編集履歴
2
プログラム修正
answer
CHANGED
@@ -101,6 +101,10 @@
|
|
101
101
|
//使用するAudioSource取得
|
102
102
|
source = GetComponent<AudioSource> ();
|
103
103
|
|
104
|
+
//最初のBGM再生
|
105
|
+
source.clip = BGM_title;
|
106
|
+
source.Play();
|
107
|
+
|
104
108
|
//シーンが切り替わった時に呼ばれるメソッドを登録
|
105
109
|
SceneManager.activeSceneChanged += OnActiveSceneChanged;
|
106
110
|
}
|
1
プログラム修正
answer
CHANGED
@@ -30,6 +30,9 @@
|
|
30
30
|
public AudioSource BGM_title;
|
31
31
|
public AudioSource BGM_main;
|
32
32
|
|
33
|
+
//1つ前のシーン名
|
34
|
+
private string beforeScene = "Title";
|
35
|
+
|
33
36
|
// Use this for initialization
|
34
37
|
void Start () {
|
35
38
|
//自分と各BGMオブジェクトをシーン切り替え時も破棄しないようにする
|
@@ -46,16 +49,19 @@
|
|
46
49
|
//シーンがどう変わったかで判定
|
47
50
|
|
48
51
|
//メニューからメインへ
|
49
|
-
if (
|
52
|
+
if (beforeScene == "Menu" && nextScene.name == "Main") {
|
50
53
|
BGM_title.Stop ();
|
51
54
|
BGM_main.Play ();
|
52
55
|
}
|
53
56
|
|
54
57
|
//メインからメニューへ
|
55
|
-
if (
|
58
|
+
if (beforeScene == "Main" && nextScene.name == "Menu") {
|
56
59
|
BGM_main.Stop ();
|
57
60
|
BGM_title.Play ();
|
58
61
|
}
|
62
|
+
|
63
|
+
//遷移後のシーン名を「1つ前のシーン名」として保持
|
64
|
+
beforeScene = nextScene.name;
|
59
65
|
}
|
60
66
|
}
|
61
67
|
|
@@ -84,6 +90,9 @@
|
|
84
90
|
//使用するAudioSource
|
85
91
|
private AudioSource source;
|
86
92
|
|
93
|
+
//1つ前のシーン名
|
94
|
+
private string beforeScene = "Title";
|
95
|
+
|
87
96
|
// Use this for initialization
|
88
97
|
void Start () {
|
89
98
|
//自分をシーン切り替え時も破棄しないようにする
|
@@ -101,18 +110,21 @@
|
|
101
110
|
//シーンがどう変わったかで判定
|
102
111
|
|
103
112
|
//メニューからメインへ
|
104
|
-
if (
|
113
|
+
if (beforeScene == "Menu" && nextScene.name == "Main") {
|
105
114
|
source.Stop ();
|
106
115
|
source.clip = BGM_main; //流すクリップを切り替える
|
107
116
|
source.Play ();
|
108
117
|
}
|
109
118
|
|
110
119
|
//メインからメニューへ
|
111
|
-
if (
|
120
|
+
if (beforeScene == "Main" && nextScene.name == "Menu") {
|
112
121
|
source.Stop ();
|
113
122
|
source.clip = BGM_title; //流すクリップを切り替える
|
114
123
|
source.Play ();
|
115
124
|
}
|
125
|
+
|
126
|
+
//遷移後のシーン名を「1つ前のシーン名」として保持
|
127
|
+
beforeScene = nextScene.name;
|
116
128
|
}
|
117
129
|
}
|
118
130
|
```
|