07/05/13 17:14:47 qATYs8FJ
>>168
とりあえず吉里吉里の仕様をもう少しきちんと調べてみることからはじめては?
吉里吉里のレイヤの機能としてのトランジションは単純。隠れバッファに
リアルタイムで合成した結果を本来のバッファの代わりに合成系に参照させてるだけ。
・複数のレイヤを別個にトランジションはできる
これはトランジションがレイヤ単体の機能だからできて当然。
・複数のレイヤをいっしょにトランジション、は、トランジションの機能じゃない(後述)
・優先順位の違う(画面に同時に出てる)レイヤ同士でトランジションはできない。
正確には実行はできるが、更新されるのは「トランジションを実行したレイヤ」だけ。
トランジション先のレイヤは単なる元データで処理がおわった瞬間にさしかわる。
これは仕様で、吉里吉里では、表示レイヤと非表示レイヤ間でしか
トランジションさせないのが定番。
実際のところ、吉里吉里は、「トランジション機能」と「親子レイヤ機能」の
2種類の機能の組み合わせで画面の表現を実現してるのに注意。
親子レイヤってのは、168が >>169 でいってるバッファを介して~に該当するものね。
吉里吉里の合成系は、子を親が確保したバッファにいったん合成するのを再帰合成してる。
つまり、168 が言うところの「やっかいな手順」は別の基本機能なので、
トランジション機能的にはその結果だけを使えばよいので単純なままで問題ない。
吉里吉里の「子レイヤをふくめたトランジション」ってのは、
トランジション処理を、この親子合成処理の前にするか後にするかの違い。
分割統治で個別のロジックをシンプルにしてる例ですね。
吉里吉里本体はシンプルなんだが、KAGはたしかにかなり複雑。
これは「裏」「表」を参照する固定名の変数の維持にこだわってるせいで、
動的にレイヤを生成・廃棄するような概念をとれば素直に扱えるはず。