Drecom Tech Espresso #1「100万ダウンロード突破!ダビマス開発の裏側大公開!」まとめ
UIController をシングルトンクラスとして、コード上のどこでもレイヤー生成/削除ができる。画面遷移を明確に UIController でのレイヤー挿入/削除に限定することで UI 実装者の敷居を下げ、責任は UI フレームワークの実装者に集約。 #drcm_tech
2017-02-28 20:35:57各レイヤーが、背面レイヤーの表示やタッチの ON/OFF を制御できる。ダイアログのレイヤーは背面タッチ OFF とか。背面レイヤーは削除せず残す方針にした。非表示にすることで描画コストはかからない。メモリが厳しいが、ローディングコストが浮く。 #drcm_tech
2017-02-28 20:40:08レイヤー間の直接処理は private メソッドにすることで不可能にし、UIController から onClick 等のイベント等を受け取る。 UIController が各レイヤーに通知するイベントを制御するので排他制御ができる。 #drcm_tech
2017-02-28 20:42:35バックキーのイベント通知はデフォルトでレイヤー削除。onBack() をオーバーライドすることで任意の処理に変更できる。他のレイヤーに何か影響を及ぼしたい場合には Event Dispatch の仕組みを用意してあるので、Event を発生させる。 #drcm_tech
2017-02-28 20:45:47タッチエフェクトやトースト表示は最前面にレイヤーを挿入するだけで実現。フェード処理も同様。フェード演出時は誤タッチが起こらないよう背面レイヤーのタッチを OFF にする。 #drcm_tech
2017-02-28 20:48:37通信時には通信中レイヤーを最前面に表示し、背面タッチを OFF。通信中レイヤーのアニメーションを 1 秒後に開始することで体感を向上。 #drcm_tech
2017-02-28 20:51:14レイヤーごとに 2D カメラ、3D カメラを切り替えて、背景と UI パーツは 2D、馬が 3D の表示を実現している。 #drcm_tech
2017-02-28 20:53:46