| 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日