インスタンスの表示リストに属するすべての階層の子オブジェクトに、イベントが起こったことを伝える。その結果、子オブジェクトのそのイベントに登録されたリスナーが呼出される。バブリングするイベントは送れない。子オブジェクトに発生を伝えるべきEventオブジェクト。インスタンスの表示リストに属するすべての階層の子オブジェクトに、イベントが起こったことを伝える。イベントは第1引数に名前の文字列で定める。第2引数にはイベントオブジェクトに加えて送りたい値が渡せる。すると、子オブジェクトのそのイベントに登録されたリスナーが呼出される。配信されるEventオブジェクトは、内部的に使い回される。イベントを定める文字列。配信されるEventオブジェクトのEvent.typeプロパティに納められる。Eventオブジェクトに加えて送る任意の値。Event.dataプロパティとして定められる。デフォルト値はnull。説明DisplayObjectContainer.broadcastEvent()とDisplayObjectContainer.broadcastEventWith()メソッドは、自らの表示リストのすべての階層に属する子オブジェクト(DisplayObject)にイベントを送ります。すると、子オブジェクトのそのイベントに登録されたリスナーが呼出されます。子オブジェクトにイベントを伝え、子オブジェクトのイベントリスナーを間接的に呼出すメソッドです。EventDispatcher.dispatchEvent()やEventDispatcher.dispatchEventWith()メソッドとは異なります。DisplayObjectContainer.broadcastEvent()メソッドの引数には、送るEventオブジェクトを渡します。バブリングするEventオブジェクト(Event.bubblesプロパティがtrue)は送れません[*1]。DisplayObjectContainerオブジェクト.broadcastEvent(Eventオブジェクト)DisplayObjectContainer.broadcastEventWith()イベントは、内部的にEventオブジェクトを使い回します。そのため、Eventオブジェクトは予めつくらずに、イベント名の文字列を第1引数に渡します。Eventクラスがすでにつくられたオブジェクトを蓄えていれば設定し直して使い回し、なければ新たなオブジェクトをつくります。第2引数には、Eventオブジェクトに加えて送りたい任意の値が渡せます(デフォルト値はnull)。任意の値)第2引数に渡した値は、EventオブジェクトのEvent.dataプロパティとして定められます。イベントリスナーでその値をどのように取出すかについては、「StarlingフレームワークのEventDispatcher.dispatchEventWith()メソッドと新しいイベント配信」をご参照ください。どちらのメソッドも、引数に渡されたイベントのリスナーをもつ子オブジェクトだけにイベントが送られます(内部的に、イベントリスナーがあるかどうかをひとつひとつ確かめています)。メソッドを呼出したDisplayObjectContainerインスタンス自身も、そのリスナーがあればイベントを受取ります。[*1]「バブリング」というのは、イベントが表示リストの親インスタンスに遡って送られることです。TouchEventオブジェクトは、Event.bubblesプロパティがデフォルトではtrueに定められていますので、マウスイベントは表示リストの親インスタンスも受取れます。3.0のマウスイベントについては、「マウスイベントMouseEvent.MOUSE_OVERとMouseEvent.ROLL_OVERの違い」02「イベントのバブリング」をご参照ください。PlayerからEvent.ENTER_FRAMEイベントを受取ると、Starling.advanceTime()メソッドを呼出します。このメソッドはStageオブジェクトの表示リストにEvent.ENTER_FRAMEイベントを配信します。具体的には、Starling.advanceTime()から呼出すStage.advanceTime()メソッドが、以下のように実装されています。passedTime);broadcastEvent(mEnterFrameEvent);}Stage.advanceTime()メソッドはDisplayObjectContainer.broadcastEvent()メソッドで、自らの表示リストのすべての階層に属する子オブジェクトにEvent.ENTER_FRAMEイベント(EnterFrameEventオブジェクト)を送っています。reset()メソッドはEventクラスに内部的に定められていて、すでにあるEventオブジェクトを初期化し、第3引数の値はEvent.dataプロパティに与えます。実装DisplayObjectContainer.broadcastEventWith()メソッドがEventオブジェクトを使い回す仕組みについて、簡単にご説明します。DisplayObjectContainer.broadcastEventWith()メソッドは、つぎのように実装されています。data);broadcastEvent(event);Event.toPool(event);}Eventクラスの静的メソッドfromPool()とtoPool()は、Eventオブジェクトを使い回すためのメソッドです。fromPool()メソッドは、Eventクラスに蓄えられたオブジェクトがあればそれを設定し直し、なければ新たなEventオブジェクトを定められた引数でつくって返します。toPool()メソッドは、EventオブジェクトをEventクラスの静的プロパティ(Eventベース型のVectorオブジェクト)に蓄えます。イベントは、DisplayObjectContainer.broadcastEvent()メソッドで送っています。