ゆとりーなの日記

日記的な事を書いて行くと思はれる

結局悩む

結局タイトル画面とかのメニューをLuaで書く方向で進んでいる東方PSP移植ですが、やっぱりいまいち纏まりません。
紅魔郷のタイトル画面はタイトルのロゴが一文字ずつ飛んでったり、メニュー項目が飛んできたりするので、取り敢えずこれらを独立なコルーチンの配列にぶちこんで回していくというスタイルを取ってみたのです。
で、このコルーチンに何を書くかが問題なわけです。キー入力を検出したら次の状態に飛んでいくとかいう処理が入ってくるわけですが、これを各コルーチンに一々書くのも変な気がするのでスケジューラ的なコルーチンを用意して、そこでキー入力を検出したらループを抜けられるような変数を用意する的なことをやってみたのですがどうもこれもしっくりきません。あとはとある描画コルーチンのアニメーションが終了したら次の状態に全描画コルーチンが移動するという時とかに、スケジューラに一々知らせてそれ経由でコルーチンを次の状態に移すとかしないとかするのかとか考えても、やっぱりしっくりきません。
第一現状LuaC++の描画関数を公開していて、Lua内で描画もやってるわけですが、Luaでは座標の管理だけして描画はC++に任せた方が綺麗なのかなという気もしますが、C++Luaのコルーチン管理するのがスタックの扱い上面倒だったりするのでこれも気が進みません。
一体どう描くのが美しく早く安全なのか、なかなか答えがでない今日この頃です。やっぱりLuaに対する理解がまだまだ足りないようです。