ホーム > タグ > describeType
describeType
BeTweenAS3とdescribeTypeでモーションタイポ
- 2009-12-09 (水)
- Flash
BeTweenAS3を使ったチョー簡単モーションタイポ。
MovieClipに対して名前付けたり、それをArray化したりするのがかなり面倒で
複数行のモーションタイポはあんまり使っていなかった。
でもBeTweenAS3のおかげで簡単にできる方法を見つけたので掲載。
- 空のMovieClip内にテキストを配置。
- 修正 > 分解
- 全部のオブジェクトが選択された状態で右クリック > レイヤーに配分
- 全部のレイヤーが選択された状態でタイムラインを右クリック > モーショントゥイーンを作成
- 念のためもう一回右クリック > トゥイーンを削除
- このMovieClipに基本クラスで以下の様な外部クラスを指定。
MovieClipに対して名前を付けたりする手間が無く、かなりの手数が省略できる。
package{
import flash.display.Sprite;
import flash.utils.describeType;
import org.libspark.betweenas3.BetweenAS3;
import org.libspark.betweenas3.easing.*;
import org.libspark.betweenas3.tweens.ITween;
import org.libspark.betweenas3.tweens.IObjectTween;
import org.libspark.betweenas3.events.TweenEvent;
public class TextMotion extends Sprite {
public var TweenList:Array=[]
public var i:uint=0;;
public var allTween:ITween;
public function TextMotion() {
while(i!=numChildren){
switch (String(describeType(getChildAt(i)).@name)) {
case "flash.display::Shape":
var obj = getChildAt(i);
obj.alpha=0;
var _t:ITween = BetweenAS3.parallel(
BetweenAS3.tween(obj, {x:obj.x,y:obj.y}, {x:obj.x-50,y:obj.y-50}, 0.5, Back.easeOut),
BetweenAS3.tween(obj, {alpha:1}, {alpha:0}, 0.5, Sine.easeOut)
);
TweenList.push(BetweenAS3.delay(_t,i*.1));
break;
default:
break;
}
i++;
}
allTween = BetweenAS3.parallelTweens( TweenList );
allTween.play();
}
}
}
describeTypeでflash.display::Shapeだけを引き抜く様にしてるが、
@baseでクラスを指定したり、いろいろ応用可能。
トゥイーン n のグラフィックシンボルはフォルダに入れないとライブラリがカオスになる。
このMCをメインタイムラインに配置して、メインタイムラインをstop()
onCompleateでメインタイムラインを再生とかも簡単。
allTween.onComplete = _onComplete
allTween.onCompleteParams = [this]
_onComplete=function(d){
d.parent.nextFrame();
}
こんな感じ。
すげーBeTweenAS3。
BeTweenAS3ヤバイ!
ちなみにscaleXとscaleYを変更しようとするとちょっと挙動が怪しい。
- Comments: 0
- Trackbacks: 0
Home > Tags > describeType
- Search
- Feeds