Tweener.registerSpecialProperty(4)
2007/12/18 22:06 - tweener
前回、対象プロパティの取得と更新をおこなうメソッドについて、以下のように記述しました。
<プロパティの取得> private function _size_get( obj:Object , param:Array , extra:Object=null ):Number { 処理内容 } <プロパティの更新> private function _size_set( obj:Object , value:Number , param:Array , extra:Object=null ):void { 処理内容 }
obj だの value だの param だの extra だの、各引数はどっから出てきのか、なんでこの順番なのか、というのが今回の話題です。
まず、これらの引数はどういった意味なのか、というと以下のとおりです。
- obj (取得・更新共通)
- addTween のターゲット
- value (更新のみ)
- トゥイーンで時々刻々と変化する対象プロパティの値
- param (取得・更新共通)
- registerSpecialProperty の第4引数
- extra (取得・更新共通)
- 臨時に使われる変数
前回示した、テキストフィールドサイズのトゥイーンに係るプロパティの取得・更新メソッドは、見直していただくと分かりますが、obj と value しか使っていません。
ちなみに、extra を使っているのは、公式でも TextShortcuts で定義されている特殊プロパティ "_text" ひとつだけです(version 1.31.69 時点)。
前々回、_text は registerSpecialProperty の第5引数 preProcessFunction を使う唯一の特殊プロパティだということを書きましたが、その preProcessFunction で extra は使われています。
私は前回のコード記述の際、properties ディレクトリ内の各 Shortcuts.as で定義されている ○○_get(プロパティ取得メソッド)、○○_set(プロパティ更新メソッド)を参照しましたが、より詳細に見てみると Tweener.as 内の updateTweenByIndex メソッドで以下のように定義されていました。
<プロパティの取得> _specialPropertyList[pName].getValue( tScope , _specialPropertyList[pName].parameters , tTweening.properties[pName].extra ); <プロパティの取得> _specialPropertyList[pName].setValue( tScope , nv , _specialPropertyList[pName].parameters , tTweening.properties[pName].extra );
シリーズ
- Tweener.registerSpecialProperty(6)
- Tweener.registerSpecialProperty(5)
- Tweener.registerSpecialProperty(3)
- Tweener.registerSpecialProperty(2)
- Tweener.registerSpecialProperty(1)
関連シリーズ
- Tweener.registerSpecialPropertySplitter(6)
- Tweener.registerSpecialPropertySplitter(5)
- Tweener.registerSpecialPropertySplitter(4)
- Tweener.registerSpecialPropertySplitter(3)
- Tweener.registerSpecialPropertySplitter(2)
- Tweener.registerSpecialPropertySplitter(1)