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

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

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

Регистрация: Jun 2006
Сообщений: 2
Question NaN ошибка

Flash 8, AS2
класс, слинкованый с символом типа MovieClip из библиотеки
почему при нажатии выдает cIndex = NaN?
помогите..

Код:
class CViewMENU extends MovieClip{
	
	var cIndex:Number;
	var keyList:Object = null;
//-------------------
	function CViewMENU(){
		trace("CViewMENU constructor");
		setActive();
	}
//-------------------
	function setActive(){
		trace("CViewMENU.setActive");
		this.cIndex = 0;
		keyList = new Object();
		keyList.onKeyDown = fOnKeyDown;
		Key.addListener(keyList);		
	}
//-------------------
	function setInactive(){
		trace("CViewMENU.setInactive");
		Key.removeListener(keyList);
	}
//-------------------
	function fOnKeyDown(){
		trace("CViewMENU.onKeyDown");
		switch(Key.getCode()) {
			case Key.UP :
				trace("onKeyDown UP");
				this.cIndex--;
			break;
			
			case Key.DOWN :
				trace("onKeyDown DOWN");
				this.cIndex++;
			break;
		}
		trace("cIndex "+ this.cIndex);
	}	
	
//-----------------------
}

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

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
Мое предположение следующее:
Потому что у тебя this.cIndex там, где ты его инкрементируешь и декрементируешь, воспринимается не в контексте свойства класса, а в контексте объекта KeyListener.
То есть интересущего тебя свойства просто не видно из слушателя
Проблема решается с помощью класса mx.utils.Delegate
__________________
No war, make Flash.

Старый 30.06.2006, 15:46
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 3  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
я сегодня ленивый, проверять влом, если то что сказал olegn не поможет, то просто перед и после изменения cIndex протрейсь его.

Старый 30.06.2006, 15:53
0x45455844 вне форума Посмотреть профиль Отправить личное сообщение для 0x45455844 Найти все сообщения от 0x45455844
  № 4  
Ответить с цитированием
0x45455844

Регистрация: Jun 2006
Сообщений: 2
трейсил... он прав,
а с Delegate заработало, спасибо!
не думал что всё так извращено =)

Старый 30.06.2006, 20:13
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это не извращение, это ООП

Старый 30.06.2006, 20:15
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 6  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
На самом деле Delegate Это антипаттерн=) так что всеже извращение=)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 02.07.2006, 03:58
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 7  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
2 __etc - это очень отстойное извращение, такое же как и в JS.
Adobe - ну почему ты не сделаешь события a la .net???
__________________
Всё гениальное просто.

Старый 02.07.2006, 04:00
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 8  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Кстати, для js такой геммор решается включением библиотеки prototype
Читаем подробности здесь
__________________
Всё гениальное просто.


Последний раз редактировалось Homo Sapiens; 02.07.2006 в 04:13.
Старый 02.07.2006, 04:56
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 9  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Не боись, AS\Flash будет неуклонно идти в сторону C#\NET =)
вконце концов конкуренты=)

PS ну или загнется=)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 02.07.2006, 13:48
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 10  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Ммм, что-то мне подсказывает, что загнётся, тем более что идёт WPF...
__________________
Всё гениальное просто.

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

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

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


 


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


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