2009 年 1 月 のアーカイブ

同じオブジェクトの複数ステートメントはwithを使って簡素化。

2009 年 1 月 19 日 月曜日

withステートメント

例えば一つのオブジェクトに対してx座標、y座標、透明度を指定する場合、下記のように記述していた。

var _mc:MovieClip = new MovieClip();
_mc.x = 100;
_mc.y = 100;
_mc.alpha = 1;

上記のコードは下記のように省略できる。しかも一つのグループであることが解りやすい。

with(_mc){
 x = 100;
 y = 100;
 alpha = 1;
}

イベントリスナーの登録なんかにはものすごい威力を発揮すること間違いなしです!(つーか普通はみんな知ってるのか、、)

//LoaderクラスのcontentLoaderInfoプロパティ
with(_loadInfo){
 addEventLisetner(Event.INIT,initHandler);
 addEventLisetner(Event.COMPLETE,completeHandler);
 addEventLisetner(ProgressEvent.PROGRESS,progressHandler);
 addEventLisetner(IOErrorEvent.IO_ERROR,IOErrorHandler);
}

Tweenクラスでイージング(減速運動)を表現する

2009 年 1 月 8 日 木曜日

Tweenクラスを使用することによってメソッドインスタンスの移動、サイズ変更、およびフェードを自動で実行することができる。加えて減速運動やフェードイン・アウトなど、規定の引数をあたえることで様々なモーション効果を持たせることが可能。
ただし、一つのTweenオブジェクトで操作できるプロパティは一つのみ。複数同時に行いたい場合は”HydroTween”っていうライブラリが公開されているのでそちらを参照。

Tweenクラスの基本構文。

Tweenクラスのオブジェクト(インスタンス)を作成し、引数にターゲットとなるオブジェクトや効果の値を入れる。

//Tweenクラスとイージング機能を使用するためのeasingパッケージをインポートする。
import fl.transitions.Tween;
import fl.transitions.easing.*;

// Tweenオブジェクトの作成
var myTween:Tween = new Tween;
(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean = false);

引数(パラメータ)の詳細

  • obj:Object — Tween のターゲットになるオブジェクト。
  • prop:String — 影響を受ける (obj パラメータ値)のプロパティの名前。
  • func:Function — 使用するイージング関数の名前。
  • begin:Number — prop パラメータの開始値。
  • finish:Number — prop パラメータ (トゥイーンされるターゲットオブジェクトのプロパティ) の終了値を示す数値。
  • duration:Number — モーションの継続時間。時間またはフレーム数を指定する。負の数、または省略の場合、infinity(無限) に設定される。
  • useSeconds:Boolean (default = false) — モーションで時間・フレームのどちらを使用するかを指定。true の場合は時間を、false の場合は、フレームを使用する。

Tweenを使用したモーションの作成例

サンプルでは正方形を作成してTweenクラスを使用して回転させてみた。
»サンプルを表示

//Tweenクラスとイージング機能を使用するためのeasingパッケージをインポートする。
import fl.transitions.Tween;
import fl.transitions.easing.*;

//インスタンスの作成
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xDFEDE3);
mc.graphics.drawRect(-100,-100,200,200);
mc.x = stage.stageWidth/2;
mc.y = stage.stageHeight/2;
addChild(mc);

// Tweenオブジェクトの作成、実行
var myTween:Tween = new Tween(mc,”rotation”, Elastic.easeInOut, 0, 360, 5, true);

?: 三項演算子(条件演算子)

2009 年 1 月 2 日 金曜日

条件式 ? 値1 : 値2;

条件式がtrueならば値1、条件式がfalseならば値2を返す。

// 例
var a:int = 100;
var a:int = 60;
var b:String;

c = (a>69)?String(“合格”):String(“不合格”); //出力(合格)
c = (b>69)?String(“合格”):String(“不合格”); //出力(不合格)