Web Site Expert #15

trace(a, b, c);

AS3の素晴らしい機能。traceの引数に何個でも入る。

/* ActionScript3 */

trace("test", "test", "test"); //結果: test test test
trace(["test", "test", "test"]); //結果: test,test,test
/* ActionScript2 */

trace("test", "test", "test"); //コンパイルエラー: "パラメータの数が間違っています。trace には 1 のパラメータが必要です。"
trace(["test", "test", "test"]); //結果: test,test,test

_autoAlpha

Tweenerの特殊プロパティ、_autoAlphaがとても便利。
onCompleteを拾って _visible = false; を呼ぶ必要がなくなった。

Tweener 1.31.66 を試す(4) ~DisplayShortcuts~【閃光的網站・弛緩複合体 -Review Division-】

_autoAlpha
アルファ値をトゥイーンする。
加えて、アルファ値0を境に DisplayObject.visible の true、false を自動的に切り替える。

/* ActionScript2 */

import caurina.transitions.Tweener;
import caurina.transitions.properties.DisplayShortcuts;

DisplayShortcuts.init();

public function fadeIn(mc:MovieClip):Void{
Tweener.addTween(mc, {_autoAlpha:100, time:1});
}

public function fadeOut(mc:MovieClip):Void{
Tweener.addTween(mc, {_autoAlpha:0, time:1});
}

var num:Number = NaN;

(2007/12/4 11:38修正)

Number型が undefined を返すことはない?
int型が undefined, NaN を返すことはない?

/* ActionScript3 */

var num:Number;

trace(num) //結果: NaN

num = undefined;
trace(num) ; //結果: NaN

num = NaN;
trace(num) ; //結果: NaN

num = null;
//コンパイルエラー: "Warning: 1102: null に代入できません。Number 型の変数は null にすることができません。"
trace(num) ; //結果: 0
/* ActionScript3 */
var num:int;

trace(num) //結果: 0

num = undefined;
trace(num) ; //結果: 0

num = NaN;
trace(num) ; //結果: 0

num = null;
//コンパイルエラー "Warning: 1102: null に代入できません。Number 型の変数は null にすることができません。"
trace(num) ; //結果: 0

buttonMode = true;

Spriteにマウスイベントを記述しただけではマウスカーソルが指にならない。

useHandCursorプロパティは初期値がtureなので
useHandCursor = true; は効果なし。

buttonMode = true; が必要。

/* ActionScript3 */

this._sp.buttonMode = true;
this._sp.addEventListener(MouseEvent.CLICK, this.onRelease);
this._sp.addEventListener(MouseEvent.MOUSE_OVER, this.onRollOver);
this._sp.addEventListener(MouseEvent.MOUSE_OUT, this.onRollOut);

- 参考サイト
Flash Actionscript3.0(AS3)でボタンを作る|Webで困ったときのメモ帳

Delegate.create

var ref = this;
を書かなくてよくなる方法。

イベントの委譲 (Delegateクラス)

import mx.utils.Delegate;
compInstance.addEventListener(イベント名, Delegate.create(スコープオブジェクト, 関数));

TweenerのonCompleteやonUpdateにも便利。

more >

Tweener 1.31.67

Tweenerの最新版でフィルタ系の特殊プロパティが対応されていた。
最新版はSubversion経由で。
http://tweener.googlecode.com/svn/trunk/

tweener – Google Code

# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://tweener.googlecode.com/svn/trunk/ tweener-read-only

more >