Показать сообщение отдельно
Старый 02.12.2012, 00:03
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 12  
Ответить с цитированием
Nickolai

Регистрация: Oct 2012
Сообщений: 63
Я собственно пытаюсь создать переключатель страниц. Всего 4 страницы. Принцып такой: есть 4 кнопки b_page1, b_page2, b_page3 ... , сверху кнопок наложено 4 текстовых поля: NumberPage1 ... NumberPage4. При нажатие на текстовое поле происходи алгоритм заложенный в функции ButtonPage(); Так как в кнопках нет такой фнции(или я ее не нашел, или я ее не понял) - кнопка находится в нажатом состоянии(скажем я щелку по ней она приняла состояние), я ее отпустил, она приняла другое состояние(первоначальное), то я делаю свое, при нажатие на кнопку я удаляю кнопку удаляю ее текстовое поле, добавляю кнопку добавляю фото этой же кнопки в включенном состояние, и сверху текстовое поле. Все совершенно хорошо работает, я рад, но есть одно но. Допустим я включил приложение, автоматически у меня кнопка 1 включена, я нажимаю на кнопку 2, все норм, нажимаю на кнопку 3, кнопка 3 включается, а кнопка 2 переходит в состояние будто на ней находится мышка. Если провести мышкой по кнопке 2, то все становится норм. Вот если кто поможет мне предложить более короткий вариант моей реализации, или же как-то исправить проблему(кнопка 2 переходит в состояние будто на ней находится мышка). Буду очень признателен, ниже изложу часть кода...

Код AS1/AS2:
package{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.utils.getDefinitionByName;
	import flash.display.SimpleButton;
	import flash.events.MouseEvent;
	import flash.text.TextFieldType;
	import fl.text.TLFTextField;
	import flash.display.DisplayObject;
 
 
	/**
	 * ...
	 * @author Анохин Николай
	 */
	public class Main extends Sprite {
 
		public function Main():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}	
 
		//------------Scrolling--------------------
		private var scroller:UIScrollBar;
		//-----------------------------------------
 
		//----------Button-------------------------
		private var pageButton1:ButtonPageNext;
		private var pageButton2:ButtonPageNext;
		private var pageButton3:ButtonPageNext;
		private var pageButton4:ButtonPageNext;
		private var b_page1:SimpleButton;
		private var b_page2:SimpleButton;
		private var b_page3:SimpleButton;
		private var b_page4:SimpleButton;
		private var b_pageOn:SimpleButton;
		//------------------------------------------
 
 
		//-------------Кнопки-переключатели страниц--------------------------
		public function ButtonPage():void{
 
			if(pageButton1.play == "on"){
				onClickPageButton(pageButton1.number);
 
				if(pageButton1.number != 1){
					pageButton1.play	= "off";
					pageButton2.play	= "on";
					pageButton3.play	= "off";
					pageButton4.number 	= pageButton3.number;
					pageButton3.number	= pageButton2.number;
					pageButton2.number	= pageButton1.number;
					pageButton1.number	= pageButton1.number-1;	
				} else {
					pageButton1.play	= "on";
					pageButton2.play	= "off";
					pageButton3.play	= "off";
					//--Зажигаем кнопку--
					visual.removeChild(DisplayObject(b_page1)); 
					visual.removeChild(DisplayObject(NumberPage1)); 
					visual.addChild(b_page1); 
					visual.addChild(visual.b_pageOn1); 
					visual.addChild(NumberPage1); 
					//-------------------
				}
			} else {
				//--Тушим кнопку--
				visual.addChild(b_page1); 
				visual.addChild(NumberPage1); 
				//----------------
			}
 
			if(pageButton4.play == "on"){
				onClickPageButton(pageButton4.number);
 
				pageButton2.play	= "off";
				pageButton3.play	= "on";
				pageButton4.play	= "off";
				//--Зажигаем кнопку--
				pageButton1.number 	= pageButton2.number;
				pageButton2.number	= pageButton3.number;
				pageButton3.number	= pageButton4.number;
				pageButton4.number	= pageButton4.number+1;
				//--------------------
			} else {
				//--Тушим кнопку--
				visual.addChild(b_page4); 
				visual.addChild(NumberPage4);
				//----------------
			}
 
			if(pageButton2.play == "on"){
				onClickPageButton(pageButton2.number);
				pageButton1.play == "on";
				pageButton1.play == "off";
				pageButton3.play == "on";
				pageButton3.play == "off";
				pageButton4.play == "on";
				pageButton4.play == "off";
				//--Зажигаем кнопку--
				visual.removeChild(DisplayObject(b_page2)); 
				visual.removeChild(DisplayObject(NumberPage2)); 
				visual.addChild(b_page2); 
				visual.addChild(visual.b_pageOn2); 
				visual.addChild(NumberPage2); 
				//-------------------
			} else {
				//--Тушим кнопку--
				visual.addChild(b_page2); 
				visual.addChild(NumberPage2); 
				//----------------
			}
 
			if(pageButton3.play == "on"){
				onClickPageButton(pageButton3.number);
 
				//--Зажигаем кнопку--
				visual.removeChild(DisplayObject(b_page3)); 
				visual.removeChild(DisplayObject(NumberPage3)); 
				visual.addChild(b_page3); 
				visual.addChild(visual.b_pageOn3); 
				visual.addChild(NumberPage3); 
				//-------------------
			} else {
				//--Тушим кнопку--
				visual.addChild(b_page3); 
				visual.addChild(NumberPage3); 
				//----------------
			}
 
			visual.NumberPage1.text = "" + pageButton1.number;
			visual.NumberPage2.text = "" + pageButton2.number;
			visual.NumberPage3.text = "" + pageButton3.number;
			visual.NumberPage4.text = "" + pageButton4.number;
		}
		//-------------------------------------------------------------------
 
		public function onClickPageButton(_pageButton:Number):void{
 
		}
 
		//-------------Добавляем кнопки основные--------------------------------
		public function addButon():void{
 
			//-----переключатели страниц----------------------------------
 
			b_page1 = visual.getChildByName("b_page1") as SimpleButton;
			b_page1.addEventListener(MouseEvent.CLICK, btnClickHandler);
 
			b_page2 = visual.getChildByName("b_page2") as SimpleButton;
			b_page2.addEventListener(MouseEvent.CLICK, btnClickHandler);
 
			b_page3 = visual.getChildByName("b_page3") as SimpleButton;
			b_page3.addEventListener(MouseEvent.CLICK, btnClickHandler);
 
			b_page4 = visual.getChildByName("b_page4") as SimpleButton;
			b_page4.addEventListener(MouseEvent.CLICK, btnClickHandler);
 
 
			NumberPage1 = visual.NumberPage1;	
			NumberPage1.mouseEnabled = false;
 
			NumberPage2 = visual.NumberPage2;
			NumberPage2.mouseEnabled = false;
 
			NumberPage3 = visual.NumberPage3;
			NumberPage3.mouseEnabled = false;
 
			NumberPage4 = visual.NumberPage4;
			NumberPage4.mouseEnabled = false;
		}
		//----------------------------------------------------------------------
 
		//-------------Реакция на нажатие кнопок--------------------------------
		private function btnClickHandler(e:MouseEvent):void {
			switch (e.currentTarget) {
			case b_page1:		
				pageButton1.play = "on";
				pageButton2.play = "off";
				pageButton3.play = "off";
				pageButton4.play = "off";
				ButtonPage();
			break;
			case b_page2:
				pageButton1.play = "off";
				pageButton2.play = "on";
				pageButton3.play = "off";
				pageButton4.play = "off";
				ButtonPage();
			break;
			case b_page3:			
				pageButton1.play = "off";
				pageButton2.play = "off";
				pageButton3.play = "on";
				pageButton4.play = "off";	
				ButtonPage();
			break;
			case b_page4:			
				pageButton1.play = "off";
				pageButton2.play = "off";
				pageButton3.play = "off";
				pageButton4.play = "on";
				ButtonPage();
			break;
			}
		}
		//-----------------------------------------------------------------------
 
 
	}
}
Изображения