SimpleButton

by Makoto_Tanaka
  SimpleButtonの作成方法
*
*
♥0 | Line 43 | Modified 2010-01-30 16:19:46 | MIT License
play

ActionScript3 source code

/**
 * Copyright Makoto_Tanaka ( http://wonderfl.net/user/Makoto_Tanaka )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/jTNy
 */

/**
 *  SimpleButtonの作成方法
 *
 *
 */
package {
	import flash.events.MouseEvent;
	import flash.display.SimpleButton;
    import flash.display.Sprite;
    
    public class ButtonTest extends Sprite {
        
        public function ButtonTest() {
        		var button:SimpleButton = createButton(100,100,100,50);
        		button.addEventListener(MouseEvent.CLICK, onClick);
        		addChild(button);
            
        }
        
        /**
         * ボタンの作成
         */
    		private function createButton(x:int,y:int,width:int,height:int):SimpleButton {
    			// 通常時のイメージ
        		var upImage:Sprite = new Sprite();
        		upImage.graphics.beginFill(0xff0000);
        		upImage.graphics.drawRoundRect(0,0,width,height,10);
        		upImage.graphics.endFill();
        		
        		// マウスオーバー時のイメージ
        		var overImage:Sprite = new Sprite();
        		overImage.graphics.beginFill(0x00ff00);
        		overImage.graphics.drawRoundRect(0,0,width,height,10);
        		overImage.graphics.endFill();
        		
        		// マウスダウン時のイメージ
        		var downImage:Sprite = new Sprite();
        		downImage.graphics.beginFill(0x0000ff);
        		downImage.graphics.drawRoundRect(0,0,width,height,10);
        		downImage.graphics.endFill();
        		
        		// SimpleButtonの作成
        		var button:SimpleButton = new SimpleButton();
        		button.upState = upImage;
        		button.overState = overImage;
        		button.downState = downImage;
        		button.hitTestState = upImage;
        		button.x = x;
        		button.y = y;
        		
        		return button;
    		}
    		
    		/**
    		 * ボタンクリックイベント
    		 */
    		private function onClick(e:MouseEvent):void {
    			var foo:Sprite = new Sprite();
    			foo.graphics.beginFill(0);
    			foo.graphics.drawRect(0,0,100,100);
    			foo.graphics.endFill();
    			foo.x = 0;
    			foo.y = 0;
    			addChild(foo);
    		}
    }
}