[AS3]swcのやつ。もうちっといい感じにする

2010/06/3

さっき書いたエントリをもう少し書き換えてみる。
振る舞いは○○Proxyとかいうクラスを作ってそこに書き込んでいけば、
親からは○○Proxyのメソッドを呼べるからコードヒントが出ていい感じかも。

メイン

package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	
	/**
	 * ...
	 * @author KinkumaDesign
	 */
	[SWF(width="400",height="300",frameRate="30",backgroundColor="0xffffff")]
	public class Main extends Sprite 
	{
		public var container:Container;
		public var containerProxy:ContainerProxy;
		
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			
			container = new Container();
			containerProxy = new ContainerProxy(container);
			addChild(container);
		}
		
	}
	
}

■ContainerProxy

package  
{
	import flash.events.MouseEvent;
	/**
	 * ...
	 * @author KinkumaDesign
	 */
	public class ContainerProxy
	{
		public var container:Container;
		public var mybtnProxy:MyButtonProxy;
		
		public function ContainerProxy(container:Container) 
		{
			this.container = container;
			mybtnProxy = new MyButtonProxy(container.mybtn);
			container.mybtn.addEventListener(MouseEvent.CLICK, clickHD);
		}
		
		private function clickHD(e:MouseEvent):void 
		{
			trace("clicked!");
			
			//こうやればコードヒントが出せた
			mybtnProxy.move();
		}
		
	}

}

■MyButtonProxy

package  
{
	import flash.events.MouseEvent;
	/**
	 * ...
	 * @author KinkumaDesign
	 */
	public class MyButtonProxy
	{
		public var mybtn:MyButton;
		
		public function MyButtonProxy(mybtn:MyButton) 
		{
			this.mybtn = mybtn;
			init();
		}
		
		private function init():void
		{
			mybtn.buttonMode = true;
			mybtn.addEventListener(MouseEvent.ROLL_OVER, overHD);
			mybtn.addEventListener(MouseEvent.ROLL_OUT, outHD);
		}
		
		private function outHD(e:MouseEvent):void 
		{
			mybtn.alpha = 1;
		}
		
		private function overHD(e:MouseEvent):void 
		{
			mybtn.alpha = 0.5;
		}
		
		public function move():void
		{
			mybtn.y += 1;
		}
	}

}

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る