ActionScript3をぼちぼち勉強

早起きしすぎて、夕方寝てしまったので、
どうも生活がおかしくなってしまっています。

本も読み飽きたので、ActionScript3.0入門ノートを読みつつ、
AS3の基本的なところを勉強。
AS2からとどこが違うかをとりあえず。


Spriteクラスというのがあるらしい。
ムービークリップのひとつ上の階層(タイムラインがないムービークリップみたいな)
と覚えておく。
Helpを見ると、
MovieClip→Sprite→DisplayObjectContainer→InteractiveObject→DisplayObject→EventDispatcher→Object
の順に継承されいるようです。

とりあえず、本を見ながら、なにか作ってみようと思い、
下記のような感じに。

ポイントとしては、
・Spriteクラスで表示オブジェクトを作成
・作成した表示オブジェクトの中でいろいろやる。(Graphics クラスはまた今度くわしく勉強する)
・表示オブジェクトは、addChildで表示リストに追加する
・Spriteは取ったりはずしたりが自由にできる(removeしてもメモリ上には存在する)
・基本的にはイベントリスナーを使って制御

う~んレベル低すぎるけど、少しずつ。


//containerを作成
var container:Sprite = new Sprite();

//circleを作成
var mySp1:Sprite = new Sprite();
mySp1.graphics.beginFill(0x0000FF);
mySp1.graphics.drawCircle(0,0,100);
mySp1.graphics.endFill();
mySp1.x=150;
mySp1.y=150;
mySp1.name = "circle";

//boxを作成
var mySp2:Sprite = new Sprite();
mySp2.graphics.beginFill(0xFFFF00);
mySp2.graphics.drawRect(0,0,200,200);
mySp2.graphics.endFill();
mySp2.x=120;
mySp2.y=120;
mySp2.name = "box";

//containerの中にmySp1とmySp2を配置
addChild(container);
container.addChild(mySp1);
container.addChild(mySp2);


//buttonを作成
var mySp3:Sprite = new Sprite();
mySp3.addEventListener(MouseEvent.CLICK, changeorder);
mySp3.x=10;
mySp3.y=10;
mySp3.name = "button1";

var mySp3txt = new TextField();
mySp3txt.text = "並び順を変更";
mySp3txt.border = false;
mySp3txt.textColor =0xFFFFFF;
mySp3txt.embedFonts = false;
mySp3txt.selectable = false;
mySp3txt.background = true;
mySp3txt.backgroundColor = 0x000000;
mySp3txt.autoSize = TextFieldAutoSize.LEFT;

addChild(mySp3);
mySp3.addChild( mySp3txt );



function changeorder(event:MouseEvent):void{
//コンテナーの中の表示オブジェクトの数
var cnt:int = container.numChildren;
//as SpriteでSpriteに戻す(Spriteにできない場合はnullが入る)
var sp:Sprite = container.getChildAt(0) as Sprite;
container.setChildIndex(sp,cnt-1);
}

tag: actionscript

date:2008年06月22日 05:07