質問編集履歴

6

誤字

2021/12/02 08:38

投稿

kenken2245
kenken2245

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,6 @@
1
1
  ### 前提として
2
2
 
3
- ゲーム中、costとtimeというスコアがどんどん増えて行きます。その値を保存したいと考えています。
4
-
5
- 現在、表示されているスコアを保存(JSON)で保存することはできます
3
+ 、表示されているスコアを保存(JSON)で保存することはできます
6
4
 
7
5
  ```ここに言語を入力
8
6
 

5

コードの不備を訂正

2021/12/02 08:38

投稿

kenken2245
kenken2245

スコア2

test CHANGED
File without changes
test CHANGED
@@ -135,187 +135,3 @@
135
135
  ### 問題、疑問
136
136
 
137
137
  このリストの配列をJSONで保存しよう思っていたのですが、保存するデータをまとめたクラス(PlayerData)にどう定義すればいいかわからなくなりました。
138
-
139
- ### コード全体
140
-
141
- ```ここに言語を入力
142
-
143
- public class GameDirector : MonoBehaviour
144
-
145
- {
146
-
147
-
148
-
149
- [SerializeField] GameObject costText;
150
-
151
-  [SerializeField] GameObject timeText;
152
-
153
- [SerializeField] InputField inputArea;
154
-
155
-
156
-
157
- int cost = 0;
158
-
159
- int time = 0;
160
-
161
-
162
-
163
-
164
-
165
- [System.Serializable]
166
-
167
- public class PlayerData
168
-
169
- {
170
-
171
- public List<int> Costs { get; set; }
172
-
173
- public List<int> Times { get; set; }
174
-
175
- public string playerName;
176
-
177
- }
178
-
179
-
180
-
181
- PlayerData playerData = new PlayerData
182
-
183
- {
184
-
185
- Costs = new List<int>(),
186
-
187
- Times = new List<int>(),
188
-
189
- };
190
-
191
-
192
-
193
- public void ListSave()
194
-
195
- {
196
-
197
- playerData.Costs.Add(this.cost);
198
-
199
- playerData.Times.Add(this.time);
200
-
201
- }
202
-
203
-
204
-
205
-
206
-
207
- ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
208
-
209
-
210
-
211
- //cubeprehabを作った時に呼び出す関数、コストを加える,this=myDataに変更
212
-
213
- public void GetCube1()
214
-
215
- {
216
-
217
- this.cost += 100; //YellowCubeを作ったら100プラス
218
-
219
- }
220
-
221
-
222
-
223
- public void GetCube2()
224
-
225
- {
226
-
227
- this.cost += 250; //BlueCubeを作ったら250プラス
228
-
229
- }
230
-
231
-
232
-
233
-
234
-
235
- //cubePrehab1を作った際の時間、と想定:単位不明
236
-
237
- public void GetTime1()
238
-
239
- {
240
-
241
- this.time += 3; //Yellowを作ったら3プラス
242
-
243
- }
244
-
245
- //cubePrehab2を作った際の時間、と想定:単位不明
246
-
247
- public void GetTime2()
248
-
249
- {
250
-
251
- this.time += 5; //Blueを作ったら5プラス
252
-
253
- }
254
-
255
-
256
-
257
- ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
258
-
259
- public void SavePlayerData()//000
260
-
261
- {
262
-
263
- StreamWriter writer;
264
-
265
- var playerName = inputArea.text;
266
-
267
- playerData.playerName = playerName;
268
-
269
- string jsonstr = JsonUtility.ToJson(playerData);
270
-
271
-
272
-
273
- writer = new StreamWriter(Application.dataPath + "/save" + playerName + ".json", false);
274
-
275
- writer.Write(jsonstr);
276
-
277
- writer.Flush();
278
-
279
- writer.Close();
280
-
281
- }
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
- void Start()
290
-
291
- {
292
-
293
- this.costText = GameObject.Find("Cost");
294
-
295
- this.timeText = GameObject.Find("Time");
296
-
297
- }
298
-
299
-
300
-
301
-
302
-
303
- void Update()//myData=this
304
-
305
- {
306
-
307
- this.costText.GetComponent<Text>().text =
308
-
309
- "Total Cost : " + this.cost.ToString();
310
-
311
-
312
-
313
- this.timeText.GetComponent<Text>().text =
314
-
315
- "Total Time : " + this.time.ToString();
316
-
317
- }
318
-
319
- }
320
-
321
- ```

4

コードの追加

2021/12/02 08:37

投稿

kenken2245
kenken2245

スコア2

test CHANGED
File without changes
test CHANGED
@@ -135,3 +135,187 @@
135
135
  ### 問題、疑問
136
136
 
137
137
  このリストの配列をJSONで保存しよう思っていたのですが、保存するデータをまとめたクラス(PlayerData)にどう定義すればいいかわからなくなりました。
138
+
139
+ ### コード全体
140
+
141
+ ```ここに言語を入力
142
+
143
+ public class GameDirector : MonoBehaviour
144
+
145
+ {
146
+
147
+
148
+
149
+ [SerializeField] GameObject costText;
150
+
151
+  [SerializeField] GameObject timeText;
152
+
153
+ [SerializeField] InputField inputArea;
154
+
155
+
156
+
157
+ int cost = 0;
158
+
159
+ int time = 0;
160
+
161
+
162
+
163
+
164
+
165
+ [System.Serializable]
166
+
167
+ public class PlayerData
168
+
169
+ {
170
+
171
+ public List<int> Costs { get; set; }
172
+
173
+ public List<int> Times { get; set; }
174
+
175
+ public string playerName;
176
+
177
+ }
178
+
179
+
180
+
181
+ PlayerData playerData = new PlayerData
182
+
183
+ {
184
+
185
+ Costs = new List<int>(),
186
+
187
+ Times = new List<int>(),
188
+
189
+ };
190
+
191
+
192
+
193
+ public void ListSave()
194
+
195
+ {
196
+
197
+ playerData.Costs.Add(this.cost);
198
+
199
+ playerData.Times.Add(this.time);
200
+
201
+ }
202
+
203
+
204
+
205
+
206
+
207
+ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
208
+
209
+
210
+
211
+ //cubeprehabを作った時に呼び出す関数、コストを加える,this=myDataに変更
212
+
213
+ public void GetCube1()
214
+
215
+ {
216
+
217
+ this.cost += 100; //YellowCubeを作ったら100プラス
218
+
219
+ }
220
+
221
+
222
+
223
+ public void GetCube2()
224
+
225
+ {
226
+
227
+ this.cost += 250; //BlueCubeを作ったら250プラス
228
+
229
+ }
230
+
231
+
232
+
233
+
234
+
235
+ //cubePrehab1を作った際の時間、と想定:単位不明
236
+
237
+ public void GetTime1()
238
+
239
+ {
240
+
241
+ this.time += 3; //Yellowを作ったら3プラス
242
+
243
+ }
244
+
245
+ //cubePrehab2を作った際の時間、と想定:単位不明
246
+
247
+ public void GetTime2()
248
+
249
+ {
250
+
251
+ this.time += 5; //Blueを作ったら5プラス
252
+
253
+ }
254
+
255
+
256
+
257
+ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
258
+
259
+ public void SavePlayerData()//000
260
+
261
+ {
262
+
263
+ StreamWriter writer;
264
+
265
+ var playerName = inputArea.text;
266
+
267
+ playerData.playerName = playerName;
268
+
269
+ string jsonstr = JsonUtility.ToJson(playerData);
270
+
271
+
272
+
273
+ writer = new StreamWriter(Application.dataPath + "/save" + playerName + ".json", false);
274
+
275
+ writer.Write(jsonstr);
276
+
277
+ writer.Flush();
278
+
279
+ writer.Close();
280
+
281
+ }
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+ void Start()
290
+
291
+ {
292
+
293
+ this.costText = GameObject.Find("Cost");
294
+
295
+ this.timeText = GameObject.Find("Time");
296
+
297
+ }
298
+
299
+
300
+
301
+
302
+
303
+ void Update()//myData=this
304
+
305
+ {
306
+
307
+ this.costText.GetComponent<Text>().text =
308
+
309
+ "Total Cost : " + this.cost.ToString();
310
+
311
+
312
+
313
+ this.timeText.GetComponent<Text>().text =
314
+
315
+ "Total Time : " + this.time.ToString();
316
+
317
+ }
318
+
319
+ }
320
+
321
+ ```

3

不足していたことを追加しました。

2021/11/16 05:29

投稿

kenken2245
kenken2245

スコア2

test CHANGED
File without changes
test CHANGED
@@ -100,11 +100,13 @@
100
100
 
101
101
 
102
102
 
103
- この1と2を繰り返し、最後にそのキープされた複数のデータをJSONに保存したいと考えています。
103
+ この1と2を繰り返し、最後にそのキープされた途中結果全てJSONに保存したいと考えています。
104
104
 
105
105
 
106
106
 
107
- そこで、costとtimeをlistにいれ、そのデータを保存させたいと考えております。
107
+ そこで、costとtimeの途中結果どんどんlistにいれ、そのデータを保存させたいと考えております。
108
+
109
+ このようなlistを用意して、キープボタンのOnclickにアタッチしようと考えています。
108
110
 
109
111
  ```ここに言語を入力
110
112
 
@@ -132,6 +134,4 @@
132
134
 
133
135
  ### 問題、疑問
134
136
 
135
- このリストの配列をJSONで保存しよう思い、PlayerDataの中このlistを入ようとしたのですがpublic int cost = 0;
137
+ このリストの配列をJSONで保存しよう思ってたのですが保存するデータをまとめたクラス(PlayerDataどう定義すばいいかわからなくなりました
136
-
137
- public int time = 0;を同じクラスの中で定義しているためどうすればいいのでしょうか?

2

誤字

2021/11/16 00:37

投稿

kenken2245
kenken2245

スコア2

test CHANGED
File without changes
test CHANGED
@@ -134,4 +134,4 @@
134
134
 
135
135
  このリストの配列をJSONで保存しよう思い、PlayerDataの中にこのlistを入れようとしたのですがpublic int cost = 0;
136
136
 
137
- public int time = 0;をクラスの中で定義しているためどうすればいいのでしょうか?
137
+ public int time = 0;を同じクラスの中で定義しているためどうすればいいのでしょうか?

1

具体的な問題点を追加しました。

2021/11/15 07:37

投稿

kenken2245
kenken2245

スコア2

test CHANGED
File without changes
test CHANGED
@@ -132,4 +132,6 @@
132
132
 
133
133
  ### 問題、疑問
134
134
 
135
- このリストの配列をJSONで保存しようとしてみたのですが壁にあたりました。
135
+ このリストの配列をJSONで保存しよう思い、PlayerDataの中にこのlistを入れようとしたのですがpublic int cost = 0;
136
+
137
+ public int time = 0;をクラスの中で定義しているためどうすればいいのでしょうか?