ID: FN1206005 |
Platform: All |
Version: CS6/ActionScript 3.0 |
Runtime: Flash Player 11.3/AIR 3.3 |
FrameLabelクラス |
パッケージ
|
flash.display
|
継承
|
FrameLabel → EventDispatcher → Object
|
releaseOutsideイベント |
イベントオブジェクト
|
flash.events.Event
|
イベント定数
|
flash.events.Event.FRAME_LABEL
|
概要
|
再生ヘッドが新たなフレームに入ったとき、そのフレームにラベルを定義したFrameLabelオブジェクトがあり、イベントリスナーを登録してあると配信される。
|
Eventクラス |
パッケージ
|
flash.events
|
継承
|
Event → Object
|
FRAME_LABEL定数
|
実装
|
public static const FRAME_LABEL:String = "frameLabel"
|
概要
|
"frameLabel"イベントを定める文字列定数。
|
説明
このイベントはFlash Player 11.3から備わりました。FrameLabel.frameLabelイベントは、再生ヘッドが新たなフレームに入ったとき、そのフレームにラベルを定義したFrameLabelオブジェクトがあり、リスナーを登録してあると配信されます。再生ヘッドが動かないか、単一フレームの場合には、イベントがフレームレートで繰返し生じます。なお、このイベントは、DisplayObject.frameConstructedイベントの後に配信されます。
このイベントには、「キャプチャ段階」も「バブリング段階」もありません[*1]。したがって、イベントリスナーは直接目的のFrameLabelオブジェクトに加えなければなりません。
EventDispatcher.addEventListener()やEventDispatcher.removeEventListener()メソッドの第1引数に渡すイベント定数はEvent.FRAME_LABELで、値の文字列は"frameLabel"です。FrameLabel.frameLabelイベントのリスナー関数は、下表001のようなプロパティが備わったEventオブジェクトを引数に受取ります。
表001■FrameLabel.frameLabelイベントのEventオブジェクトがもつおもなプロパティ
プロパティ |
値 |
クラス |
bubbles : Boolean
|
[読取り専用] バブリングイベントでないことを示すfalse。
|
Event |
cancelable : Boolean |
[読取り専用] キャンセルできるデフォルトの動作がないのでfalse。
|
Event |
currentTarget : Object |
[読取り専用] リスナー関数が加えられて、イベントオブジェクトを現在処理しているインスタンス。 |
Event |
target : Object |
[読取り専用] イベントが起こったターゲットのインスタンス。 |
Event |
type : String |
[読取り専用] 起こったイベントを示す文字列("frameLabel")。イベント定数(Event.FRAME_LABEL)の値と一致する。 |
Event |
例
つぎのスクリプトは、MovieClipインスタンス(my_mc)の最初のフレームラベルがつけられたFrameLabelオブジェクト(firstLabeledFrame)にイベントリスナー(onLabeledFrame)を加えます。そして、リスナー関数は、Event.currentTargetプロパティでFrameLabelオブジェクトを取出し、そのフレームラベルを[出力]します[*2]。
var labels:Array = my_mc.currentLabels;
var firstLabeledFrame:FrameLabel = labels[0];
firstLabeledFrame..addEventListener(Event.FRAME_LABEL, onLabeledFrame);
function onLabeledFrame(eventObject:Event):Void {
var frame:FrameLabel = eventObject.currentTarget as FrameLabel;
trace(frame.name);
}
|
[*1] 本稿執筆時ではFlash Professional CS6のムービープレビュープレーヤーはFlash Player 11.3に対応していませんので、実際に[出力]はできません。
|
参考
[ActionScript 3.0 Reference for the Adobe Flash Platform] > [FrameLabel]の「frameLabel Event」の項
[Event]の「FRAME_LABEL Constant」の項
作成者: 野中文雄
作成日: 2012年4月11日