onEnterFrameについて

onEnterFrame = function () {} について、Adobeのリファレンスには以下のようにあります。

SWF ファイルのフレームレートで繰り返し呼び出されます。onEnterFrame イベントハンドラに割り当てる関数は、影響を受けるフレームに追加されている他のすべての ActionScript コードの前に処理されます。

フレームに入った瞬間毎に割り当てられた関数が繰り返し実行されるということのようです。例えば

onEnterFrame = function () { mc_A._x += 1; }

とすれば、フレームごとにmc_Aが1pxずつ移動、つまりフレームレート30に設定していれば1秒間に30px移動します。

また、いずれかのタイミングで

onEnterFrame = function () { mc_B._y += 5; }

などとすれば、onEnterFrameは上書きされて、先に定義された

onEnterFrame = function () { mc_A._x += 1; }

は無効になります。

onEnterFrameというのはthis.onEnterFrameということですので、上書きされないようにするにはムービークリップごとにonEnterFrameを定義します。つまり

mc_A.onEnterFrame = function () { mc_A._x += 1; }
mc_B.onEnterFrame = function () { mc_B._y += 5; }

と書けばいいようです。

ちなみに、onEnterFrameをあえて無効にする場合には

delete my_mc.onEnterFrame;

と書きます。

Tweenerを「すべて」取り除く方法

Tweenerで動作中のtweenをすべて無効にする場合は

Tweener.removeAllTweens();

と書きます。

例えば、Tweenerのアニメーションをスキップした場合、これをしておかないと裏でずっとアニメーションが動いていたりしちゃいます。
なるほど、プログラムは正直です。

Tweenerのスペシャルプロパティ


Tweenerを使用するとき、最初に

import caurina.transitions.Tweener;

と書かなければいけませんでした。


色を変化させたり、フィルターを変化させたり、ベジェ曲線に沿った動きをしたいときには、次のように書けばいいようです。

色操作
import caurina.transitions.properties.ColorShortcuts;
ColorShortcuts.init(); // 初期化

_color 色:16進数形式(0xNNNNNN)
_brightness 明度
_contrast コントラスト
_hue 色相
_saturation 彩度


こちらの先輩がお詳しい。
http://plug.heteml.jp/motulog/2008/08/tweener-colorshortcuts.html

フィルタ
import caurina.transitions.properties.FilterShortcuts;
FilterShortcuts.init(); // 初期化

ぼかし
_Blur_blurX
_Blur_blurY
_Blur_quality


ドロップシャドウ
_DropShadow_color
_DropShadow_alpha
_DropShadow_distance


グロー
_Glow_alpha
_Glow_blurX
_Glow_blurY
_Glow_color
_Glow_inner
_Glow_knockout
_Glow_quality
_Glow_strength


ベジェ曲線
import caurina.transitions.properties.CurveModifiers;
CurveModifiers.init(); // 初期化

my_mc._x = 100; // 始点のx座標
my_mc._y = 100; // 始点のy座標
Tweener.addTween(my_mc, {_x:0, _y:0, _bezier:{_x:100, _y:100}, time:1, transition:"linear"});

_x:0, _y:0,は終着点
_bezier:{_x:100, _y:100},はコントロール座標。ぐにゃぐにゃさせたければいくつでも指定可能です。


こちらが詳しい。
http://labs.zeh.com.br/blog/?p=104

enabledをつかうべし


Tweenerでリンクボタンをalpha:0から100に変化させました。
とすると当然ながらボタンが見えてないときも、リンクボタンはクリックできてしまうわけです。
  
師に教えを乞うと

my_mc.enabled = boolean;

(boolean[ブーリアン] 変数や定数の型の一つで、真(true)と偽(false)の2種類の値だけを扱う最も単純な構造の型。)
をつかうべしとのこと。
  

my_mc.enabled = false;

と書けば、ムービークリップが無効になり、クリックできなくなります。
  

my_mc.enabled = false;

と書けば、ムービークリップが有効になり、クリックできるようになります。
  
ちなみに表示/非表示は

my_mc._visible = boolean;

で指定できるようです。
  
ニンニン。