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

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

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

Регистрация: Jun 2006
Сообщений: 60
По умолчанию ООП вызов функции при нажатии на кнопку

Здравствуйте!
Столкнулся с проблемой, при создании объекта класса Fun, при нажатии на клавиши клавиатуры не могу перейти в функцию _function() класса Fun.
Код:
//fla.fla
var obj:Fun= new Fun();
,
Код:
//Fun.as
class Fun{
	private var _list:Object = new Object();
	private function _function() {
		trace("hello");
	}
	public function Fun() {
		Key.addListener(_list);
		_list.onKeyDown = function():Void  {
			_function();
		};
	}
}
В чём моя ошибка, уважаемые господа?

Старый 16.05.2008, 22:19
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Внутри области видимости _list нету метода _function();
Забудьте про то, что в хелпе везде пишут
Код:
private var _list:Object = new Object();
Key.addListener(_list);
и тому подобное, зачем создавать лишний объект, когда можно добавить в слушателей самого себя? То есть
Код:
Key.addListener(this);
И все. И области видимости сразу совпадает и объектов лишних нет
Код:
class Fun{
	private function _function () {
		trace("hello");
	}
	public function Fun () {
		Key.addListener(this);
	}
	private function onKeyDown ():Void  {
		_function();
	};

}
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 16.05.2008 в 22:54.
Старый 16.05.2008, 23:00
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 3  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: Jun 2006
Сообщений: 60
Ошибку свою понял. Спасибо! НО тут осталась ошибка "A member attribute was used incorrectly.
private onKeyDown = function():Void {"

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

Регистрация: Jun 2006
Сообщений: 60
всё исправил
Код:
//Fun.as
class Fun{
	private function _function() {
		trace("hello");
	}
	private function onKeyDown() {
		_function();
	};
	public function Fun() {
		Key.addListener(this);
	}
	
}
спасибо добрый человек

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

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

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


 


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


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