Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.12.2012, 21:08
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 11  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Mouse#registerCursor()
__________________
Reality.getBounds(this);

Старый 02.12.2012, 00:03
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 12  
Ответить с цитированием
Nickolai
[+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 переходит в состояние будто на ней находится мышка). Буду очень признателен, ниже изложу часть кода...

Код 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;
			}
		}
		//-----------------------------------------------------------------------
 
 
	}
}
Изображения
 

Старый 02.12.2012, 00:19
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 13  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Я Вам советовал неделю назад написать СВОЮ кнопку.
Послушали бы совета тогда — сейчас уже было бы готово.

SimpleButton такой simple... что Вы хотите от ПРОСТОЙ кнопки? Напишите свою с тогглингом состояний, лейблами, состоянием "disabled" и возможностью добавлять иные вкусняшки (анимированные плавные переходы состояний? ..например) в любое время.
__________________
Reality.getBounds(this);

Старый 02.12.2012, 14:13
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 14  
Ответить с цитированием
Nickolai
[+6 15.11.12]

Регистрация: Oct 2012
Сообщений: 63
Не, ну по сути то получилось. Только одна фигня осталась, она не изменилась бы даже если бы я создавал так как советывали вы. Подскажите как убрать эту тему? Я думаю что можно сделать будто на все кнопки навели курсор и сразу же убрали, тогда бы все кнопки вспыхивали, и не было бы такой проблеммы. Но как это сделать не знаю.

Старый 02.12.2012, 15:14
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 15  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Все это можно и нужно реализовывать со своей кнопкой. Стандартные компоненты во флеше вообще не айс.

Старый 02.12.2012, 16:46
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 16  
Ответить с цитированием
Nickolai
[+6 15.11.12]

Регистрация: Oct 2012
Сообщений: 63
Не ребят ну хватит петь. Вы мне скажите конретно по сути дела, как это исправить можно? есть же функции специальные?

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:37.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.