Показать сообщение отдельно
Старый 14.11.2011, 09:25
Vektor вне форума Посмотреть профиль Отправить личное сообщение для Vektor Найти все сообщения от Vektor
  № 82  
Ответить с цитированием
Vektor
 
Аватар для Vektor

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Вот класс для создания и удаления кнопок.
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.display.Stage;
	import flash.events.MouseEvent;
	public class Cbutton extends MovieClip {
		private var _bDown:Boolean=false;
		private var _oDownButon:Object=new Object  ;
		public function Cbutton(But,x:int,y:int) {
			// constructor code
			onButtonCreate(But,x,y);
		}
		private function onButtonCreate(But,x:int,y:int):void {
			addChild(But);
			But.stop();
			But.x=x;
			But.y=y;
			But.addEventListener(MouseEvent.MOUSE_OVER, onMouseEvent);
			But.addEventListener(MouseEvent.MOUSE_OUT, onMouseEvent);
			But.addEventListener(MouseEvent.MOUSE_DOWN, onMouseEvent);
		}
		internal function onButtonDelete(But:MovieClip):void {
			But.removeEventListener(MouseEvent.MOUSE_OVER, onMouseEvent);
			But.removeEventListener(MouseEvent.MOUSE_OUT, onMouseEvent);
			But.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseEvent);
			removeChild(But);
		}
		private function onMouseEvent(event:MouseEvent):void {
			switch (event.type) {
				case MouseEvent.MOUSE_OVER :
					if (_bDown&&_oDownButon==event.target) {
						_oDownButon.gotoAndStop(3);
					} else {
						event.target.gotoAndStop(2);
					}
					break;
				case MouseEvent.MOUSE_OUT :
					event.target.gotoAndStop(1);
					break;
				case MouseEvent.MOUSE_DOWN :
					stage.addEventListener(MouseEvent.MOUSE_UP, onMouseEvent);
					_oDownButon=event.target;
					event.target.gotoAndStop(3);
					_bDown=true;
					break;
				case MouseEvent.MOUSE_UP :
					if (!(event.target is Stage)) {
						event.target.gotoAndStop(2);
					}
					stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseEvent);
					_bDown=false;
					break;
			}
		}
	}
 
}
А здесь, вызов класса.
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.display.Sprite;
	public class CLButton extends MovieClip {
		private var sClip:Sprite=new Sprite  ;
		private var _mcButton0:mcButton=new mcButton  ;
		private var _mcButton1:mcButton1=new mcButton1  ;
		private var _mcButton2:mcButton=new mcButton  ;
		private var _mcButton3:mcButton1=new mcButton1  ;;
		var _Cbutton0:Cbutton=new Cbutton(_mcButton0,0,0);
		var _Cbutton1:Cbutton=new Cbutton(_mcButton1,100,0);
		var _Cbutton2:Cbutton=new Cbutton(_mcButton2,100,100);
		var _Cbutton3:Cbutton=new Cbutton(_mcButton3,0,100);
		public function CLButton() {
			// constructor code
			addChild(sClip);
			sClip.x=100;
			sClip.y=100;
			_Cbutton0.buttonMode=true;
			sClip.addChild(_Cbutton0);
			sClip.addChild(_Cbutton1);
			sClip.addChild(_Cbutton2);
			sClip.addChild(_Cbutton3);
 
			_Cbutton0.onButtonDelete(_mcButton0);
			//_Cbutton1.onButtonDelete(_mcButton1);
		}
	}
 
}
__________________
Книги и желание лучшие учителя.


Последний раз редактировалось Vektor; 14.11.2011 в 09:46.