package{ import flash.display.*; import flash.events.Event; import flash.net.URLRequest; public class NavigationButton extends SimpleButton{ public var _hitTestState:Bitmap; public var loaderOne:Loader = new Loader(); public var loaderTwo:Loader = new Loader(); public var loaderThree:Loader = new Loader(); public var upBoo:Boolean; public var overBoo:Boolean; public var downBoo:Boolean; public var _btnW:Number; public var _btnH:Number; public function NavigationButton(upImage:String, overImage:String, downImage:String, btnW:Number, btnH:Number){ _btnW = btnW; _btnH = btnH; loaderOne.contentLoaderInfo.addEventListener(Event.INIT, upImageGetter); loaderTwo.contentLoaderInfo.addEventListener(Event.INIT, overImageGetter); loaderThree.contentLoaderInfo.addEventListener(Event.INIT, downImageGetter); loaderOne.load(new URLRequest(upImage)); loaderTwo.load(new URLRequest(overImage)); loaderThree.load(new URLRequest(downImage)); hitTestState = createHit(); } public function createHit():Sprite{ var sprite:Sprite = new Sprite(); var backgroundShape:Shape = createRectangle(); sprite.addChild(backgroundShape); return sprite; } private function createRectangle():Shape { var rect:Shape = new Shape(); rect.graphics.beginFill(0xCCCCCC); rect.graphics.lineStyle(1, 0x000000); rect.graphics.drawRoundRect(0, 0, _btnW, _btnH, 15); rect.graphics.endFill(); rect.x = 45; rect.y = 22; return rect; } private function upImageGetter(e:Event):void{ upState = e.target.content; } private function overImageGetter(e:Event):void{ overState = e.target.content; } private function downImageGetter(e:Event):void{ downState = e.target.content; } } }