teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/10/18 16:35

投稿

hermit19901127
hermit19901127

スコア368

answer CHANGED
@@ -30,4 +30,29 @@
30
30
  「どこからでも書き換えられる」事は「自分が修正なりして消したはずの所から急に書き換えられる」等で
31
31
  特定し辛いエラーの原因にもなったりするので、運用には気を付けてください。
32
32
 
33
- それでも、シーンの切替等が発生しても値を保持できる点で、ゲーム中のデータ保存の方法としては強力だとは思います…
33
+ それでも、シーンの切替等が発生しても値を保持できる点で、ゲーム中のデータ保存の方法としては強力だとは思います…
34
+
35
+ ------------------------------
36
+ 追記
37
+
38
+ これは、古い知識かもしれませんが、Unityのプロジェクトセッティングか、それに類するものに
39
+ 「シングルトンオブジェクト」を専用に登録できるメニュー等があった気がします…
40
+ 余力があったら、探してみるのも一考…
41
+
42
+ ------------------------------
43
+ 与太話(聞き流しても大丈夫です)
44
+
45
+ 普通に作れば大丈夫ですが、シングルトンオブジェクト、下手な実装をすると
46
+ ゲームを終了してもシングルトンオブジェクトが生きて、再度ゲームを実行すると
47
+ 前のゲームのデータを保持したまま実行するみたいなトラブルが起こる事もあります…。
48
+
49
+ 実は、UnityEditor自体が、一つのゲームのプログラムになっていて、
50
+ そこで再生してるゲームは、そのプログラムが再生してる現象でしかありません…
51
+ static関数をどう管理するかにもよりますが、やり方次第で、
52
+ 「UnityEditorが起動中は存在し続ける」実装も可能なので、
53
+ 運悪く、そんな実装をすると、いくら再生してるゲームを終了しようが
54
+ UnityEditorそのものを終了しないと初期化処理が走らず、前のゲームのデータを引き継いだまま処理を行う、のような、珍妙な動作が起こります…。
55
+
56
+ …まぁ、エディタ再生の終了、またはエディタ再生を感知して、シングルトンを常に初期化するようにすれば、そのような問題は起きませんが…
57
+
58
+ 一応、知見というか、豆知識として…