フレームの表示プロセスは次のような 3 段階のステップに分けられます。
表示リスト上のそれぞれのキャラクタには 深度 (depth) の値が割り振られます。 この深度の値は、キャラクタのスタック順を決定します。 深度の値の小さいキャラクタは、値の大きいキャラクタの下に表示されます。 深度 1 のキャラクタは、スタックの一番下に配置されます。 1 つのキャラクタをいくつも同時に表示することもできますが、それぞれに違う深度が割り当てられます。キャラクタはそれぞれ、1 つだけの深度値を持つことができます。
SWF 1, 2 では、表示リストはフラットなリストで、1 度にスクリーンに 1 つだけ存在していました。 SWF 3 以降のバージョンでは、表示リストは階層的な構造に変更され、画面上のそれぞれのエレメントが、子エレメントのリストを持つようになりました。より詳しい内容は DefineSprite タグの項目をご覧ください。
次の 6 つのタグは、表示リストを制御するために使われます。
(注) SWF 3 以降では、 PlaceObject と RemoveObject は古いタグなので滅多に使用されません。
次の図は、表示プロセスを表しています。 最初に、シェイプ、テキスト、スプライトの 3 つのオブジェクトが定義されています。 これらのオブジェクトはキャラクタ ID が与えられ、ディクショナリに保存されます。 キャラクタ 1 (シェイプ) は、スタックの一番下の深度 1 に配置され、他の全てのキャラクタの後ろに描かれます。 キャラクタ 2 (テキスト) は、深度 2 と深度 4 (スタックの一番上) の 2 回配置されます。 キャラクタ 3 (スプライト) は、深度 3 に配置されます。