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

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

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

Регистрация: Jun 2008
Сообщений: 283
По умолчанию setInterval в моём Классе

Доброго времени суток

Не могу понять в чём дело.
Вот код класса:
Код AS1/AS2:
class my_Class extends MovieClip {
	//________________ VAR __________________
	private var Param_1:Number;
	private var Param_2:String;
	//________________ КОНСТРУКТОР __________________
	function my_Class() {
		trace('my_Class()');
		//
		Param_1=444;
		Param_2='траялял';
		//
		Metod_1();
	}
	//________________ Функция вызываемоя из Metod_1() __________________
	private function Metod_2(kto_Vizval:String) {
		trace('<Metod_2() '+kto_Vizval+' >');
		trace('Param_1 = '+Param_1);
		trace('Param_2 = '+Param_2);
	}
	//________________ Функция вызываемоя из конструктра __________________
	private function Metod_1() {
		trace('Metod_1()');
		Metod_2('Простой вызов');
		setInterval(Metod_2,1000,'Вызов по средством setInterval');
	}
}
В случаи если функция "Metod_2()" вызывается простым способом переменные "Param_1" и "Param_2" определены, ещели вызываем через setInterval, то Param_1 = undefined и Param_2 = undefined.

Как так? Кругом голова идёт. Прям как в том фильме "Видишь суслика?.. и я нет. А он есть."

Старый 19.05.2011, 12:52
Flashrunner вне форума Посмотреть профиль Отправить личное сообщение для Flashrunner Найти все сообщения от Flashrunner
  № 2  
Ответить с цитированием
Flashrunner

Регистрация: Sep 2010
Сообщений: 47
Внутри класса следует использовать такой синтаксис:
Код AS1/AS2:
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number
Т.е:
Код AS1/AS2:
setInterval(this, "Metod_2",1000,'Вызов по средством setInterval');
Иначе вызываемая функция не будет видеть члены класса.

Старый 19.05.2011, 14:01
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 3  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
Цитата:
Сообщение от Flashrunner Посмотреть сообщение
Внутри класса следует использовать такой синтаксис:
Код AS1/AS2:
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number
Т.е:
Код AS1/AS2:
setInterval(this, "Metod_2",1000,'Вызов по средством setInterval');
Иначе вызываемая функция не будет видеть члены класса.
Спасибо большое

Но это блин как то нехорошо+) язык один и тот же а в классах есть отличии+(
И скорее всего это не единственное отличие?
Может есть некий перечень этих отличий? что бы просветиться. А то так можно и свихнуться, гадая почему то или иное не работает в классе, в то время как без него всё в порядке?

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

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

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


 


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


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