Flash/AS2.0
SimpleButtonHandler //2007/03/18 13:22
괴수가면
2012. 6. 5. 13:03
import mx.transitions.BroadcasterMX; import com.showjean.utils.Adapter; class SimpleButtonHandler { // public var addListener:Function; public var removeListener:Function; public var broadcastMessage:Function; ///* public var onPress:Function; public var onRelease:Function; public var onReleaseOutside:Function; public var onRollOver:Function; public var onRollOut:Function; public var onDragOut:Function; public var onDragOver:Function; //*/ // public function SimpleButtonHandler(mc:MovieClip) { mc.gotoAndStop(1); BroadcasterMX.initialize(this); this.addListener(this); initialize(mc); } private function initialize(_mc:MovieClip):Void { _mc.onPress = Adapter.wrap(this, sendEvent, "onPress", _mc); _mc.onRelease = Adapter.wrap(this, sendEvent, "onRelease", _mc); _mc.onReleaseOutside = Adapter.wrap(this, sendEvent, "onReleaseOutside", _mc); _mc.onRollOver = Adapter.wrap(this, sendEvent, "onRollOver", _mc); _mc.onRollOut = Adapter.wrap(this, sendEvent, "onRollOut", _mc); _mc.onDragOut = Adapter.wrap(this, sendEvent, "onDragOut", _mc); _mc.onDragOver = Adapter.wrap(this, sendEvent, "onDragOver", _mc); } private function sendEvent(evt:String, _mc:MovieClip):Void { switch (evt) { case "onRollOver" : _mc.gotoAndStop(2); break; case "onRollOut" : _mc.gotoAndStop(1); break; } this.broadcastMessage(evt, _mc); } }
- 모든 버튼에 동일한 액션을 주고 싶을 때 이용할 수 있는 심플버튼핸들러
- 위 예제처럼 롤오버와, 롤아웃시에 액션을 모든 버튼에 추가할 수 있다.
- 사용법
var sbh:SimpleButtonHandler = new SimpleButtonHandler(test_btn); sbh.onRollOver = function(){ //actions }; sbh.onRollOut = function(){ //actions }; sbh.onPress = function(){ //actions };