Event.FLATTEN概要Spriteインスタンスがフラット化されたとき子インスタンスすべてに配信される。説明Spriteクラスは、子インスタンスがもてるもっとも軽いオブジェクトをつくります(スーパークラスのDisplayObjectContainerは、抽象クラスなので直接インスタンスがつくれません)。表示オブジェクト(DisplayObject)を同じ座標系でまとめるときの親オブジェクトに用います。子オフジェクトがもてるクラスのスーパークラスとして定められます。Sprite.flatten()メソッドを呼出すと、インスタンスの表示リストに加えられたオブジェクトの静的な描画が最適化されます。オブジェクトの階層に属する子インスタンスすべてを予め解析しておくので、描画が求められたときに素速く処理できます[*1]。Sprite.flatten()メソッドを呼出した後は、子インスタンスの見た目が変わるプロパティを操作しても、描画は変わりません。Spriteインスタンスの表示を書替えるには、メソッドSprite.unflatten()か改めてSprite.flatten()を呼出します。Starlingは、子インスタンスが含まれたSpriteオブジェクトのデータを、予めGPUに送ります。すると、フレームを書替えるとき、GPUはそのデータをそのまま描きます。したがって、GPUへのデータ送信もCPUの追加の処理も発生しません。CPUも含めた最適化ができます。フラット化しても、Spriteインスタンスが「状態」の異なる子インスタンスを含むと、その描画は別途行われることになります。Optimization」をご参照ください。