なんか、もっそい普通のことですが、なかなかつまずいたので覚書。

ステージ上にインスタンス名「btn〇」の名前をつけたボタンのムービークリップを配置している状態です。
効果はTweenerでつけています。

効果説明
ロード時のy座標を配列に入れておいて、マウスオーバー時にそれぞれのムービークリップを「y座標ー20」しています。
その際ブライトをあげてちょっと明るくなるようになっています。
ボタンが一列なら、y座標の位置取りなどは必要ありません。


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

ColorShortcuts.init();
FilterShortcuts.init();
DisplayShortcuts.init();

var url:Array = ["http://www.google.co.jp/","http://www.yahoo.co.jp/","http://blog.bgs-works.com", "http://jp.msn.com/", "http://www.apple.com/jp/"];
var yArray:Array = new Array;
var upArray:Array = new Array;

for (var u:int =1; u<=5; u++){

	/* ロード時のyの座標 */
	yArray.push(this["btn"+u].y);

	/* 動かしたい数を引いたy座標 */
	upArray.push(this["btn"+u].y-20);

}

for(var t:int = 1; t<=5; t++){

	this["btn"+t].addEventListener(MouseEvent.ROLL_OVER, rollOverListener);
	this["btn"+t].addEventListener(MouseEvent.ROLL_OUT, rollOutListener);
	this["btn"+t].addEventListener(MouseEvent.CLICK, onClickListener);

	this["btn"+t].buttonMode = true;

}

/* 文字列を分割するための関数 */
function getNum(_str:String){

	var str:String = _str;

	/* 分割する場所の指定(最初の文字からいくつめで、いくつまで分割するのか) */
	var key:String = str.substr(3.1);
	var keyNum:Number = Number(key);

	return keyNum-1;

}

function rollOverListener(e:MouseEvent):void{

	var _num:Number = getNum(e.target.name);
	Tweener.addTween(e.currentTarget, {y:upArray[_num], time:2, transition:"easeOutElastic",_brightness:0.4});

}

function rollOutListener(e:MouseEvent):void{

	var _num:Number = getNum(e.target.name);
	Tweener.addTween(e.currentTarget, {y:yArray[_num], time:0.7, transition:"easeOutQuint",_brightness:0});

}

function onClickListener(e:MouseEvent):void{

	var _request:URLRequest = new URLRequest(url[ getNum(e.target.name) ]);
	navigateToURL(_request);

}
タグ:, , , , ,