さっき書いたエントリをもう少し書き換えてみる。
振る舞いは○○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アプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ