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

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

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

Регистрация: Jul 2011
Сообщений: 29
По умолчанию Событие внутри класса - Цикл

Плиз хелп! Как сделать, чтоб этот код работал в цикле? Я имею ввиду чтоб функция draww вызывалась каждый кадр(30раз в сек)
Код AS1/AS2:
class PropWatcher
{
	private var _i:Number;
 
	private function draww()
	{
		trace( "draww listener "  );
	}
 
	public function get i():Number { return _i; }
	public function set i(value:Number):Void 
	{
		if (_i != value) 
		{
			_i = value;
			if (_i == 0) draww()
 
		}
	}
}
///////////////////////
var test:PropWatcher = new PropWatcher();
test.i = 0;
Он срабатывает только 1 раз ((
Я попробовал :
Код AS1/AS2:
var test:PropWatcher = new PropWatcher();
test.i = 1;
test.onEnterFrame = function(){
	this.i++;
}
Не вышло


Последний раз редактировалось letsrock85; 05.08.2011 в 15:24.
Старый 05.08.2011, 15:24
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 2  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Так у вас условие вызова функции draw стоит при i = 0;
Поэтому она 1 раз и вызывается, потому что дальше идет i ++;
__________________
Кодинг, багинг, алгоритминг. me @

Старый 05.08.2011, 15:25
letsrock85 вне форума Посмотреть профиль Отправить личное сообщение для letsrock85 Найти все сообщения от letsrock85
  № 3  
Ответить с цитированием
letsrock85

Регистрация: Jul 2011
Сообщений: 29
Сам нашел!
Код AS1/AS2:
onEnterFrame = function(){}
Добавлено через 2 минуты
Сделал так:
Код AS1/AS2:
private var _i:Number;
 
	private function draww()
	{
		trace( "Yahooo "  );
	}
 
	public function get i():Number { return _i; }
	public function set i(value:Number):Void 
	{
		if (_i != value) 
		{
			draww()
			_i = value;
 
		}
	}
Код AS1/AS2:
var test:Main = new Main(this.top_mc, this.top_mc.holderNew.holderXY);
test.i = 1;
onEnterFrame = function(){
	test.i++;
}
stop ();
Так работает! Это правильно? Может можно более оптимизированно как то?


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

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

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


 


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


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