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

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

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

Регистрация: Oct 2010
Сообщений: 57
По умолчанию Помогите разобратся с Timer()

Хочу организовать контролированое ускорение спавна обьектов, делаю ето так:
Код AS3:
        private var timer_raund: Timer;
	private var timer_secunda: Timer;
	private var timer_faster: Timer;
	private const MIN_del: int=300;
	private const startDel: int=1100;
	private var faster_delay: int=startDel;
	private var tick_del: int=10;
 
	// timer-----------------------------------------
	public function ModelCore()
	{
		super();
 
		timer_raund=new Timer(raundLen);
		timer_raund.addEventListener(TimerEvent.TIMER,tick_raundEnd);
		timer_secunda=new Timer(1000);
		timer_secunda.addEventListener(TimerEvent.TIMER,tick_secunda);
		timer_faster=new Timer(faster_delay);
		timer_faster.addEventListener(TimerEvent.TIMER,tick_faster);
	}
 
private function tick_secunda(event: TimerEvent): void
	{
		if(timer_faster.delay>MIN_del){
			faster_delay-=tick_del;
		timer_faster.delay=faster_delay;
		}
		// event.updateAfterEvent();
		secunda();
	}
 
	private function tick_faster(e: TimerEvent): void
	{
		trace(e.target.delay);
 
		spam();
		// e.updateAfterEvent();
	}
 
private function secunda(): void
	{
		secundomir--;
		dispatchEvent(new Event(Model.SECUNDA));
	}
 
private function tick_raundEnd(event: TimerEvent): void 
	{
		timer_raund.stop();
		timer_secunda.stop();
		timer_faster.stop();
		faster_delay=startDel;
		secundomir=0;
		dispatchEvent(new Event(Model.END_ROUND));
	}
 
	public function startRaund(): void 
	{	
		timer_faster.start();
		timer_raund.start();
		timer_secunda.start();
 
		secundomir=raundLen/1000;
 
		dispatchEvent(new Event(Model.START_ROUND));
	}
проц загружен на 30%

1. почему когда startDel > 960(вычислил експрериментальным путем) спавн начинается с задержкой больше 5 сек?
2. delay трейсит что меняет но на самом деле ускорятся начинает только когда daley < 500 делая ето мгновенно, а мне нужно плавное ускорение.
И если можно както подругому без таймеров и фреймов реализовать ускорение подскажите как плиз

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

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

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


 


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


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