Dictionaryクラスを試してみた(お)
参考 にゃあプロジェクト
[AS3.0] Dictionaryクラスって何だお?
http://www.project-nya.jp/modules/weblog/details.php?blog_id=1160
/**
* Copyright sinketu ( http://wonderfl.net/user/sinketu )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/1Kl0
*/
/*
参考 にゃあプロジェクト
[AS3.0] Dictionaryクラスって何だお?
http://www.project-nya.jp/modules/weblog/details.php?blog_id=1160
*/
package{
import flash.display.*;
import flash.text.*;
import flash.utils.Dictionary;
import flash.events.MouseEvent;
public class Main extends MovieClip{
private var dictionary:Dictionary;
private var myText:TextField
public function Main(){
dictionary = new Dictionary(true);
for (var n:uint = 0; n < 3; n++) {
var btn:Btn = new Btn();
addChild(btn);
btn.x=n*130+50;
btn.y=50;
btn.buttonMode=true;
btn.addEventListener(MouseEvent.CLICK, click);
dictionary[btn] = n;//キー(key)と値(value)のペアを保持している。ここではkey:btn(それぞれ)、value:n。
//※補足。dictionary[n] = btn; として、数字から任意のbtnを参照することも可能。その場合は、key:n、value:btn(それぞれ)。
}
myText=new TextField();
myText.border=true;
addChild(myText);
myText.x=50;
myText.y=130;
}
public function click(evt:MouseEvent):void {
//dictionaryを使って、クリックしたターゲット(key)に応じた数字(value)を参照している。
myText.text=dictionary[evt.target].toString();
}
}
}
import flash.display.*;
class Btn extends Sprite{
public function Btn(){
this.graphics.beginFill(0xcccccc);
this.graphics.drawRect(0,0,100,40);
this.graphics.endFill();
}
}