質問編集履歴

4

文章の追加

2018/06/26 07:15

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  音量調整はSliderを使っています。
10
10
 
11
+ 現在問題は一番下のコードです。
12
+
11
13
 
12
14
 
13
15
  ### 問題
@@ -251,3 +253,5 @@
251
253
  ```
252
254
 
253
255
  これで音量の保存はできましたが、タイトル画面から音量が変わることはありませんでした。一度音量設定画面に行かなければ変更された音量がロードされません。
256
+
257
+ どうすれば良いでしょうか?

3

文章の追加

2018/06/26 07:15

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -189,3 +189,65 @@
189
189
  もしくは、Startの PlayerPrefs.GetFloat が良くないのでしょうか?
190
190
 
191
191
  申し訳ございません、もう少しだけよろしくお願いします。
192
+
193
+ ###更に訂正後
194
+
195
+ ```
196
+
197
+ public class VolumeALL : MonoBehaviour
198
+
199
+ {
200
+
201
+
202
+
203
+ public UnityEngine.Audio.AudioMixer mixer;
204
+
205
+
206
+
207
+ // インスペクター上からスライダーのオブジェクトを登録
208
+
209
+ public Slider targetSlider;
210
+
211
+
212
+
213
+
214
+
215
+ void Start()
216
+
217
+ {
218
+
219
+ targetSlider.value = PlayerPrefs.GetFloat("Master",0);
220
+
221
+ masterVol(targetSlider);
222
+
223
+ }
224
+
225
+
226
+
227
+ public void masterVol(Slider slider)
228
+
229
+ {
230
+
231
+ mixer.SetFloat("Master", slider.value);
232
+
233
+ }
234
+
235
+ }
236
+
237
+ ```
238
+
239
+ ```
240
+
241
+ public void SaveVolume(Slider slider)
242
+
243
+ {
244
+
245
+ PlayerPrefs.SetFloat("Master", slider.value);
246
+
247
+ PlayerPrefs.Save();
248
+
249
+ }
250
+
251
+ ```
252
+
253
+ これで音量の保存はできましたが、タイトル画面から音量が変わることはありませんでした。一度音量設定画面に行かなければ変更された音量がロードされません。

2

文の追加

2018/06/26 07:10

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -112,6 +112,8 @@
112
112
 
113
113
  ```
114
114
 
115
+ //音量調整する設定画面
116
+
115
117
  public class VolumeALL : MonoBehaviour
116
118
 
117
119
  {
@@ -126,9 +128,9 @@
126
128
 
127
129
  public Slider targetSlider;
128
130
 
131
+   //staticを入れる
129
132
 
130
-
131
- public float volume;
133
+ public static float volume;
132
134
 
133
135
 
134
136
 
@@ -136,7 +138,7 @@
136
138
 
137
139
  {
138
140
 
139
-
141
+     //ロードする
140
142
 
141
143
  volume = PlayerPrefs.GetFloat("Volume", 0);
142
144
 
@@ -158,13 +160,15 @@
158
160
 
159
161
  }
160
162
 
161
-
163
+ //Sliderの所で起動する
162
164
 
163
165
  public void masterVol(Slider slider)
164
166
 
165
167
  {
166
168
 
167
169
  mixer.SetFloat("Master", slider.value);
170
+
171
+     //セーブする
168
172
 
169
173
  PlayerPrefs.SetFloat("Volume", volume);
170
174
 

1

訂正しました、見て頂けると嬉しいです。

2018/06/23 14:47

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -105,3 +105,83 @@
105
105
  また、このエラーをどうにかする方法が分かりません。
106
106
 
107
107
  教えて頂けたらとても嬉しいです、よろしくお願いします。
108
+
109
+
110
+
111
+ ###訂正後
112
+
113
+ ```
114
+
115
+ public class VolumeALL : MonoBehaviour
116
+
117
+ {
118
+
119
+
120
+
121
+ public UnityEngine.Audio.AudioMixer mixer;
122
+
123
+
124
+
125
+ // インスペクター上からスライダーのオブジェクトを登録
126
+
127
+ public Slider targetSlider;
128
+
129
+
130
+
131
+ public float volume;
132
+
133
+
134
+
135
+ void Start()
136
+
137
+ {
138
+
139
+
140
+
141
+ volume = PlayerPrefs.GetFloat("Volume", 0);
142
+
143
+
144
+
145
+ // mixer.GetFloat()の値は、volumeに代入される
146
+
147
+ // 返り値は、パラメーターが存在しない場合にfalseになる
148
+
149
+ if (mixer.GetFloat("Master", out volume))
150
+
151
+ {
152
+
153
+ targetSlider.value = volume;
154
+
155
+ }
156
+
157
+
158
+
159
+ }
160
+
161
+
162
+
163
+ public void masterVol(Slider slider)
164
+
165
+ {
166
+
167
+ mixer.SetFloat("Master", slider.value);
168
+
169
+ PlayerPrefs.SetFloat("Volume", volume);
170
+
171
+ }
172
+
173
+ }
174
+
175
+ ```
176
+
177
+ 直しましたが、次は再起動しても音量が変わったままになりません。
178
+
179
+ PlayerPrefs.SetFloat の場所が悪いのでしょうか?
180
+
181
+ その場合、どこに PlayerPrefs.SetFloat を入れれば良いのでしょうか?
182
+
183
+
184
+
185
+ もしくは、Startの PlayerPrefs.GetFloat が良くないのでしょうか?
186
+
187
+ 申し訳ございません、もう少しだけよろしくお願いします。