pure actionscript3 button in flex ,
css: .battlePropButton actionscript3 in flex,code is :? package com.sandy.component.button.fl {import com.sandy.theme.SandyCSSManager; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.MouseEvent; public class SandyFLButton extends Sprite { public function SandyFLButton() { super(); __init__(); } private var _enabled:Boolean = true; public function get enabled():Boolean { return _enabled; } public function set enabled(value:Boolean):void { _enabled = value; if(_enabled){ hideAll(); upSkin.visible = true }else{ hideAll(); disabledSkin.visible = true; } } public var click_f:Function; protected function __init__():void { buttonMode = true; this.addEventListener(MouseEvent.MOUSE_DOWN,onDownHandle); this.addEventListener(MouseEvent.MOUSE_OVER,onOverHandle); this.addEventListener(MouseEvent.MOUSE_OUT,onOutHandle); this.addEventListener(MouseEvent.MOUSE_UP,onUpHandle); } private function onUpHandle(e:MouseEvent):void { hideAll(); upSkin.visible = true } private function onDownHandle(e:MouseEvent):void { hideAll(); downSkin.visible = true if(click_f!=null) click_f(); } private function onOverHandle(e:MouseEvent):void { hideAll() overSkin.visible = true } private function onOutHandle(e:MouseEvent):void { hideAll() upSkin.visible = true } private function hideAll():void { upSkin.visible = false; overSkin.visible = false; downSkin.visible = false; disabledSkin.visible = false; } public function dispose():void { this.removeEventListener(MouseEvent.MOUSE_DOWN,onDownHandle); this.removeEventListener(MouseEvent.MOUSE_OVER,onOverHandle); this.removeEventListener(MouseEvent.MOUSE_OUT,onOutHandle); this.removeEventListener(MouseEvent.MOUSE_UP,onUpHandle); } private var _styleName:String; public function get styleName():String { return _styleName; } public function set styleName(value:String):void { _styleName = value; add_upSkin(); add_overSkin(); add_downSkin(); add_disableSkin(); upSkin.visible = true } private var upSkin:Bitmap; private var overSkin:Bitmap; private var downSkin:Bitmap; private var disabledSkin:Bitmap; private function add_upSkin():void { if(upSkin==null){ var cls:Class = SandyCSSManager.getCssStyle(styleName,"upSkin"); upSkin = new cls as Bitmap; addChild(upSkin); upSkin.visible = false } } private function add_overSkin():void { if(overSkin==null){ var cls:Class = SandyCSSManager.getCssStyle(styleName,"overSkin"); overSkin = new cls as Bitmap; addChild(overSkin); overSkin.visible = false; } } private function add_downSkin():void { if(downSkin==null){ var cls:Class = SandyCSSManager.getCssStyle(styleName,"downSkin"); downSkin = new cls as Bitmap; addChild(downSkin); downSkin.visible = false; } } private function add_disableSkin():void { if(disabledSkin==null){ var cls:Class = SandyCSSManager.getCssStyle(styleName,"disabledSkin"); disabledSkin = new cls as Bitmap; addChild(disabledSkin); disabledSkin.visible = false; } } } } /*************?SandyCSSManager ********************/ public static function getCssStyle(selector:String,styleProp:String):* { if(styleProp!="") { return StyleManager.getStyleDeclaration(selector).getStyle(styleProp); } else { return StyleManager.getStyleDeclaration(selector); } return null } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |