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

マウスイベントとスコープ ver.1

...
@author --> axcelwork
Get Adobe Flash player
by axcelwork 10 Apr 2009
    Embed
package {
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.events.MouseEvent;
	
	/**
	 * ...
	 * @author --> axcelwork
	 */
	public class Main_ver3 extends Sprite {
		/* インスタンス名表示用 */
		private var txtSubTitle:TextField;
		
		private var intSize:int = 20;
		/*===============================================
		 * コンストラクタ
		 */
		public function Main_ver3():void{
			var btnCircle:Sprite;
			
			/* 
			 * インスタンス作成~表示までを単純に5回書く
			 * */
			/* インスタンス作成 */
			btnCircle = new Sprite();
			/* 塗る */
			draw( btnCircle, 0xFF0000, intSize );
			/* 位置指定 ( (幅*2) + padding ) * 繰り返し + (幅*2) */
			btnCircle.x =  ( btnCircle.width + 20 ) * 1 + btnCircle.width;
			btnCircle.y = 40;
			/* クリックのイベント定義 */
			btnCircle.addEventListener( MouseEvent.MOUSE_OVER, btnOverHandler );
			btnCircle.addEventListener( MouseEvent.MOUSE_OUT, btnOutHandler );
			btnCircle.addEventListener( MouseEvent.CLICK, btnClickHandler );
			btnCircle.addEventListener( MouseEvent.DOUBLE_CLICK, mouseDClickHandler );
			/* ダブルクリックを有効化 */
			btnCircle.doubleClickEnabled = true;
			/* マウスカーソルを指印に */
			btnCircle.buttonMode = true;
			/* 表示 */
			addChild( btnCircle );
			
			/* インスタンス作成 */
			btnCircle = new Sprite();
			/* 塗る */
			draw( btnCircle, 0xFF0000, intSize );
			/* 位置指定 ( (幅*2) + padding ) * 繰り返し + (幅*2) */
			btnCircle.x =  ( btnCircle.width + 20 ) * 2 + btnCircle.width;
			btnCircle.y = 40;
			/* クリックのイベント定義 */
			btnCircle.addEventListener( MouseEvent.MOUSE_OVER, btnOverHandler );
			btnCircle.addEventListener( MouseEvent.MOUSE_OUT, btnOutHandler );
			btnCircle.addEventListener( MouseEvent.CLICK, btnClickHandler );
			btnCircle.addEventListener( MouseEvent.DOUBLE_CLICK, mouseDClickHandler );
			/* ダブルクリックを有効化 */
			btnCircle.doubleClickEnabled = true;
			/* マウスカーソルを指印に */
			btnCircle.buttonMode = true;
			/* 表示 */
			addChild( btnCircle );
			
			/* インスタンス作成 */
			btnCircle = new Sprite();
			/* 塗る */
			draw( btnCircle, 0xFF0000, intSize );
			/* 位置指定 ( (幅*2) + padding ) * 繰り返し + (幅*2) */
			btnCircle.x =  ( btnCircle.width + 20 ) * 3 + btnCircle.width;
			btnCircle.y = 40;
			/* クリックのイベント定義 */
			btnCircle.addEventListener( MouseEvent.MOUSE_OVER, btnOverHandler );
			btnCircle.addEventListener( MouseEvent.MOUSE_OUT, btnOutHandler );
			btnCircle.addEventListener( MouseEvent.CLICK, btnClickHandler );
			btnCircle.addEventListener( MouseEvent.DOUBLE_CLICK, mouseDClickHandler );
			/* ダブルクリックを有効化 */
			btnCircle.doubleClickEnabled = true;
			/* マウスカーソルを指印に */
			btnCircle.buttonMode = true;
			/* 表示 */
			addChild( btnCircle );
			
			/* インスタンス作成 */
			btnCircle = new Sprite();
			/* 塗る */
			draw( btnCircle, 0xFF0000, intSize );
			/* 位置指定 ( (幅*2) + padding ) * 繰り返し + (幅*2) */
			btnCircle.x =  ( btnCircle.width + 20 ) * 4 + btnCircle.width;
			btnCircle.y = 40;
			/* クリックのイベント定義 */
			btnCircle.addEventListener( MouseEvent.MOUSE_OVER, btnOverHandler );
			btnCircle.addEventListener( MouseEvent.MOUSE_OUT, btnOutHandler );
			btnCircle.addEventListener( MouseEvent.CLICK, btnClickHandler );
			btnCircle.addEventListener( MouseEvent.DOUBLE_CLICK, mouseDClickHandler );
			/* ダブルクリックを有効化 */
			btnCircle.doubleClickEnabled = true;
			/* マウスカーソルを指印に */
			btnCircle.buttonMode = true;
			/* 表示 */
			addChild( btnCircle );
			
			/* インスタンス作成 */
			btnCircle = new Sprite();
			/* 塗る */
			draw( btnCircle, 0xFF0000, intSize );
			/* 位置指定 ( (幅*2) + padding ) * 繰り返し + (幅*2) */
			btnCircle.x =  ( btnCircle.width + 20 ) * 5 + btnCircle.width;
			btnCircle.y = 40;
			/* クリックのイベント定義 */
			btnCircle.addEventListener( MouseEvent.MOUSE_OVER, btnOverHandler );
			btnCircle.addEventListener( MouseEvent.MOUSE_OUT, btnOutHandler );
			btnCircle.addEventListener( MouseEvent.CLICK, btnClickHandler );
			btnCircle.addEventListener( MouseEvent.DOUBLE_CLICK, mouseDClickHandler );
			/* ダブルクリックを有効化 */
			btnCircle.doubleClickEnabled = true;
			/* マウスカーソルを指印に */
			btnCircle.buttonMode = true;
			/* 表示 */
			addChild( btnCircle );
			
			
			/* TextFieldの作成 */
			txtSubTitle = new TextField();
			txtSubTitle.selectable = false;
			txtSubTitle.autoSize = "left";
			addChild( txtSubTitle );
		}
		
		
		/*===============================================
		 * イベントハンドラ:オーバー、アウト、クリック、ダブルクリック
		 */
		private function btnOverHandler( evt:MouseEvent ):void {
			draw( Sprite( evt.target ), 0x0000FF, intSize );
		}
		private function btnOutHandler( evt:MouseEvent ):void {
			draw( Sprite( evt.target ), 0xFF0000, intSize);
		}
		private function mouseDClickHandler ( evt:MouseEvent ):void {
			draw( Sprite( evt.target ), 0x00FF00, intSize );
		}
		
		
		/*===============================================*//*
		 * イベントハンドラ:クリック:TextFieldを表示
		 */
		private function btnClickHandler( evt:MouseEvent ):void {
			txtSubTitle.text = evt.target.name;
			txtSubTitle.x = evt.target.x - txtSubTitle.width/2;
			txtSubTitle.y = evt.target.y + evt.target.height/2;
		}
		
		
		/*===============================================*//*
		 * メソッド:色を塗り替える
		 * @param --> target [Sprite]
		 * @param --> color [int]
		 * @param --> size [int]
		 */
		private function draw( target:Sprite, color:int, size:int ):void {
			target.graphics.clear();
			target.graphics.beginFill( color, 1 );
			target.graphics.drawCircle( 0, 0, size );
			target.graphics.endFill();
		}
		
	}
	
}