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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.07.2010, 23:54
Worfollomey вне форума Посмотреть профиль Отправить личное сообщение для Worfollomey Найти все сообщения от Worfollomey
  № 1  
Ответить с цитированием
Worfollomey

Регистрация: Jul 2010
Сообщений: 16
По умолчанию событие в условии

Здравствуйте. У меня вопрос. Почему когда я создаю условие и прописываю события в
нем, они работают и после того как условие не выполняется.
Пример:
я создал CheckBox присвоил ему слушатель событий по клику мишки. в функции
слушателя указал условие, если CheckBox выбран то выполняем следующие события,
дальше пишу обратное условие, если CheckBox не выбран то выполняем следующие
события. Тестирую и вижу что те события которые выполняются при выбранном CheckBox
работают постоянно, стоит лишь выбрать CheckBox один раз. Возможно есть метод
который останавливает эти события? Хотя странно как-то, ведь они прописаны в условии
и должны останавливаться как только условие не выполняется. Или я не прав? Объясните
пожалуйста.

Старый 02.07.2010, 00:50
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Без кода здесь не разберешься. Выложите код.
__________________
тут я

Старый 02.07.2010, 03:21
Worfollomey вне форума Посмотреть профиль Отправить личное сообщение для Worfollomey Найти все сообщения от Worfollomey
  № 3  
Ответить с цитированием
Worfollomey

Регистрация: Jul 2010
Сообщений: 16
Код AS3:
var ChBo:CheckBox = new CheckBox(); 
addChild(ChBo);
ChBo.addEventListener(MouseEvent.CLICK, onClickCheck);
function onClickCheck(e:MouseEvent):void
{
	if (ChBo.selected == false)
	{
		var q:Number = 0;
		RbGr.addEventListener(Event.CHANGE, changeHandler);
		function changeHandler(e:Event):void
		{
			aCb.removeAll();
			q=Number(RbGr.selectedData);
			trace(q);
			for (var i:int=1; i <= q; i++)
			{
				aCb.addItemAt({label:"Позиция" + i, data:"position" + i},  
     			       		   aCb.length);
			}
		}		
	}
	else if (ChBo.selected == true)
	{
		var date:Date = new Date();
		trace(date.getHours()+":"+date.getMinutes());
	}
}
ну вот как пример.

Старый 02.07.2010, 03:32
Hidest вне форума Посмотреть профиль Отправить личное сообщение для Hidest Найти все сообщения от Hidest
  № 4  
Ответить с цитированием
Hidest
 
Аватар для Hidest

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
При беглом осмотре ничего подозрительного не заметил... А это у вас, случаем, не в ENTER_FRAME стоит?

И как совет - не используйте анонимных функций (что-то в последнее время прямо наметился какой-то нездоровый тренд на них...) да и в можно использовать просто if (ChBo.selected) (то же самое, что и if (ChBo.selected == true) )

Старый 02.07.2010, 03:41
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 5  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
при беглом осмотре увидел вложенные функции, показалось подозрительным - дальше не стал смотреть.
__________________
Отряд Котовскага

Старый 02.07.2010, 04:47
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
в блоке else if надо, соответственно, сделать
Код AS3:
RbGr.removeEventListener(Event.CHANGE, changeHandler);
ну и, разумеется, вынести этот самый changeHandler() за пределы onClickCheck(), как было сказано ранее.
и вообще хорошо бы привести весь код в порядок.
__________________
Поймай яблоко 2!

Старый 02.07.2010, 12:51
Worfollomey вне форума Посмотреть профиль Отправить личное сообщение для Worfollomey Найти все сообщения от Worfollomey
  № 7  
Ответить с цитированием
Worfollomey

Регистрация: Jul 2010
Сообщений: 16
Всем спасибо. понял свой косяк. По причине отсутствия опыта мне казалось что функции слушателя событий должна находиться там же где и слушатель, оказывается чтобы все верно работало все функции надо выносить а слушатель событий на нее будет ссылаться. Буду знать. Теперь все работает.

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

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

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


 


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


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