![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
__________________
Reality.getBounds(this); |
|
|||||
|
[+6 15.11.12]
Регистрация: Oct 2012
Сообщений: 63
|
Я собственно пытаюсь создать переключатель страниц. Всего 4 страницы. Принцып такой: есть 4 кнопки b_page1, b_page2, b_page3 ... , сверху кнопок наложено 4 текстовых поля: NumberPage1 ... NumberPage4. При нажатие на текстовое поле происходи алгоритм заложенный в функции ButtonPage(); Так как в кнопках нет такой фнции(или я ее не нашел, или я ее не понял) - кнопка находится в нажатом состоянии(скажем я щелку по ней она приняла состояние), я ее отпустил, она приняла другое состояние(первоначальное), то я делаю свое, при нажатие на кнопку я удаляю кнопку удаляю ее текстовое поле, добавляю кнопку добавляю фото этой же кнопки в включенном состояние, и сверху текстовое поле. Все совершенно хорошо работает, я рад, но есть одно но. Допустим я включил приложение, автоматически у меня кнопка 1 включена, я нажимаю на кнопку 2, все норм, нажимаю на кнопку 3, кнопка 3 включается, а кнопка 2 переходит в состояние будто на ней находится мышка. Если провести мышкой по кнопке 2, то все становится норм. Вот если кто поможет мне предложить более короткий вариант моей реализации, или же как-то исправить проблему(кнопка 2 переходит в состояние будто на ней находится мышка). Буду очень признателен, ниже изложу часть кода...
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; } } //----------------------------------------------------------------------- } } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Я Вам советовал неделю назад написать СВОЮ кнопку.
Послушали бы совета тогда — сейчас уже было бы готово. SimpleButton такой simple... что Вы хотите от ПРОСТОЙ кнопки? Напишите свою с тогглингом состояний, лейблами, состоянием "disabled" и возможностью добавлять иные вкусняшки (анимированные плавные переходы состояний? ..например) в любое время.
__________________
Reality.getBounds(this); |
|
|||||
|
[+6 15.11.12]
Регистрация: Oct 2012
Сообщений: 63
|
Не, ну по сути то получилось. Только одна фигня осталась, она не изменилась бы даже если бы я создавал так как советывали вы. Подскажите как убрать эту тему? Я думаю что можно сделать будто на все кнопки навели курсор и сразу же убрали, тогда бы все кнопки вспыхивали, и не было бы такой проблеммы. Но как это сделать не знаю.
|
|
|||||
|
[+6 15.11.12]
Регистрация: Oct 2012
Сообщений: 63
|
Не ребят ну хватит петь. Вы мне скажите конретно по сути дела, как это исправить можно? есть же функции специальные?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:18. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|