Macromedia Flash非公式テクニカルノート starling.display.QuadBatchクラス
説明 Starlingフレームワークでステージに表示するオブジェクト(DisplayObject)として、もっともよく使われるのがQuadオブジェクトです(テクスチャを表示するためにやはりよく用いられるImageオブジェクトもQuadクラスを継承します)。同じ状態のQuadオブジェクトをまとめて一気にGPUに送ると、描画はきわめて速くなります。そのために備えられたのがQuadBatchクラスです。 SpriteクラスのSprite.flatten()メソッドは、内部的にQuadBatchクラスを用いて描画を速めます。多くの場合、フラット化したSpriteオブジェクトの方が使いやすいでしょう。ただ、QuadBatchクラスを直接用いると、つぎのような利点があります。
ひとつのQuadBatchオブジェクトには、ひとつの描画状態が定められます。QuadBatchオブジェクトの状態は、初めに加えるオブジェクトで決まります。状態には、用いるテクスチャや、スムージング、ブレンド、着色(頂点カラーや不透明度)などの設定が含まれます。QuadBatch.reset()メソッドを呼出すと、大きさは保ったままバッチが空になり、新たな状態のQuadオブジェクトが加えられます。 QuadBatchクラスはDisplayObjectクラスを継承します。けれど、表示リストの階層に必ずしも加えなくて構いません。クラスのrender()メソッドの中から、QuadBatch.renderCustom()メソッドに変換行列やアルファ、ブレンドなどの値を渡して呼出すことができます。 QuadBatchクラスにはつぎのような制約があります[*1]。これらが問題にならなければ、QuadBatchオブジェクトを用いるのが、Starlingフレームワークの中でもっとも速く描画する方法になります。
例
図001■ひとつのImageオブジェクトが複数描かれた 参考 作成者: 野中文雄 Copyright © 2001-2012 Fumio Nonaka. All rights reserved. |
||||||||||||||||||||||||