表示リストとディスプレイオブジェクト
...
@author --> axcelwork
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
/**
* ...
* @author --> axcelwork
*/
public class Main extends Sprite {
public function Main():void {
/* 中央に設定するための値:浮動小数点まで出るのでNumber型で */
var numPositionX:Number = stage.stageWidth / 2;
var numPositionY:Number = stage.stageHeight / 2;
/* 円形を描画:Stageの中央に */
var sprCircle:Sprite = new Sprite();
sprCircle.graphics.beginFill( 0xFF0000, 1 );
sprCircle.graphics.drawCircle( 0, 0, 40 );
sprCircle.graphics.endFill();
/* 位置指定 */
sprCircle.x = numPositionX;
sprCircle.y = numPositionY;
/* イベント定義 */
sprCircle.addEventListener( MouseEvent.CLICK, swapDispHandler );
/* 表示 */
addChild( sprCircle );
/* 矩形を描画:Stageの中央に */
var sprBox:Sprite = new Sprite();
sprBox.graphics.beginFill( 0x00FF00, 1 );
sprBox.graphics.drawRect( 0, 0, 100, 70 );
sprBox.graphics.endFill();
/* 位置指定 */
sprBox.x = numPositionX;
sprBox.y = numPositionY;
/* イベント定義 */
sprBox.addEventListener( MouseEvent.CLICK, swapDispHandler );
/* Spriteの入れ子であるTextFieldにはマウスイベントを届かせないようにする */
sprBox.mouseChildren = false;
/* 表示 */
addChild( sprBox );
/* TextField表示:sprBoxの中にaddChild */
var txtTitle:TextField = new TextField();
txtTitle.text = "HelloWorld!";
txtTitle.x = 50;
/* 表示 */
sprBox.addChild( txtTitle );
}
/*=======================================
* ボタンイベントハンドラ:重なり順の変更
*/
private function swapDispHandler( evt:MouseEvent ):void {
addChild( Sprite( evt.target ) );
}
}
}