In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

flash on 2010-2-12

Get Adobe Flash player
by liozoniko 12 Feb 2010
    Embed
/**
 * Copyright liozoniko ( http://wonderfl.net/user/liozoniko )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/lGn3
 */

package {
    import flash.display.Sprite;
	import flash.display.Graphics;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            var tf:TextField = new TextField;
			tf.autoSize = TextFieldAutoSize.LEFT;
			tf.text = "ここに数字が表示されます。";
			addChild(tf);
			//直径
			var radius:Number = 10.0;
			//横の間隔
			var marginWidth:Number = 5.0;
			//縦の間隔
			var marginHeight:Number = 15.0;
			//ボタンの数
			var l:int = 5;
			for (var i:int = 0; i < l; i++) 
			{
				// これくらいの短いコード片なら
				// 特に何もありませんが、一般的にループ内で
				// イベントリスナー付けたり、なんやかんやしたりというのは
				// 普通のオブジェクトではなくて、クラス化した方が良いことも。。。
				// ただし、AS2などをやっているときは、クロージャーの即時実行による
				// 変数の閉じ込めを利用するというのは非常に有効な手段です
				var sp:Circle = new Circle(i);
				sp.logTarget = tf;
				sp.x = ((sp.width + marginWidth) * i) + radius;
				sp.y = tf.height + marginHeight;
				addChild(sp);
			}
        }
		/*private function createCircle(radius:Number = 10.0, color:uint = 0xFF0000):Sprite {
			var sp:Sprite = new Sprite();
			var g:Graphics = sp.graphics;
			g.beginFill(color);
			g.drawCircle(0, 0, radius);
			g.endFill();
			return sp;
		}*/
    }
}

import flash.display.*;
import flash.events.MouseEvent;
import flash.text.TextField;

class Circle extends Sprite {
	public var id:int;
	public var logTarget:TextField;
	
	public function Circle (id:int, radius:Number = 10.0, color:uint = 0xFF0000) {
		var g:Graphics = graphics;
		g.beginFill(color);
		g.drawCircle(0, 0, radius);
		g.endFill();
		
		buttonMode = true;
		addEventListener(MouseEvent.CLICK, function ():void {
			logTarget.text = "このボタンナンバーは " + id + "です。";
		});
		
		this.id = id;
	}
}