startLoaderThread("initializer")について
DNA.Softwares様のサンプルコードで利用されているstartLoaderThread("initializer")についてちょっと自分用に整理してまとめました。
(注意!)言語はLuaになります
logo.lua内の最初に書いてある
stopThread(); startLoaderThread("initializer");
という所で2行目を読むと
function title_init() G.title = {}; G.title.bg = loadGraphic("gfx/title_bg.png"); end table.insert(INITIALIZER_LIST,title_init);
等のtable.insertされたものが一斉に読み込むようになります。最初にまとめて読み込むのでシーン変更ごとに画像or音声を読みこまなくて済むので挙動が軽くなるみたいです。
initializer自体は一回読みこめばいいのでlogoシーン時に読み込ませています。ゲーム自体の動きとして
ロゴ(ココでinitializerを動かす)
↓
スタート画面
↓
ゲーム画面
↓
ゲームオーバー画面
↓
スタート画面
↓
以下ループ
となっているので、ロゴ自体は起動時の1回しか読んでません。2回以上読み込ませると、音声など正常に読み込まれないので気をつけるように。