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

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

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

Регистрация: Apr 2011
Сообщений: 87
По умолчанию возник вопрос по таймеру

Код AS3:
m.addEventListener(MouseEvent.CLICK, fl_ClickToHide);
  function fl_ClickToHide(event:MouseEvent):void 
  {  
	    // Простой таймер
		var fl_TimerInstance_2:Timer = new Timer(1000,0);
		fl_TimerInstance_2.addEventListener(TimerEvent.TIMER, fl_TimerHandler_2);
		fl_TimerInstance_2.start();
 
		// остоновка таймера
		                   b.addEventListener(MouseEvent.CLICK, fl_ClickToHide);
                           function fl_ClickToHide(event:MouseEvent):void
                            {
			                 fl_TimerInstance_2.stop();
			                }
		// таймер делает
 
		function fl_TimerHandler_2(event:TimerEvent):void
		{
			mk.rotation -= 1;
			w.text = String(mk.rotation); 
		}
  }
возникла необходимость в увеличении и уменьшении скорости таймера в момент его работы.
пробовала по кнопке обращаться к repeatCount (если правильно поняла из учебника, то это свойство отвечает за скорость) не помогло.
пожалуйста, подскажите.


Последний раз редактировалось optemus; 26.04.2011 в 18:14.
Старый 26.04.2011, 18:27
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
repeatCount - количество повторений, а не скорость
__________________
Марк Tween

Старый 26.04.2011, 18:30
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 3  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Код AS1/AS2:
var fl_TimerInstance_2:Timer = new Timer(1000,0);
тысяча в данном случае -- время одного "тика" в миллисекундах.
увеличивай скорость, уменьшая его
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 26.04.2011, 20:00
optemus вне форума Посмотреть профиль Отправить личное сообщение для optemus Найти все сообщения от optemus
  № 4  
Ответить с цитированием
optemus

Регистрация: Apr 2011
Сообщений: 87
Цитата:
Сообщение от ChuwY Посмотреть сообщение
Код AS1/AS2:
var fl_TimerInstance_2:Timer = new Timer(1000,0);
тысяча в данном случае -- время одного "тика" в миллисекундах.
увеличивай скорость, уменьшая его
ну да я это знаю.
а вот как ее изменить в уже транслированном ролике вот в чем вопрос

Старый 26.04.2011, 20:24
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Создать переменную
Код AS3:
var timerSpeed:Number = 1000;
var fl_TimerInstance_2:Timer = new Timer(timerSpeed, 0);
Именять ее значение когда потребуется

Старый 26.04.2011, 20:35
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 6  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Простые типы передаются по значению, а не по ссылкам.
Изменением timerSpeed мы ничего не добьемся.

Код AS3:
var delay                   : Number = 1000;
var fl_TimerInstance_2 :Timer = new Timer(delay);
а когда нужно сменить скорость, например

Код AS3:
var newDelay                : Number = 100; 
fl_TimerInstance_2.delay = newDelay;
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 26.04.2011 в 20:54.
Старый 26.04.2011, 20:35
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 7  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
и что, будет меняться?

UPD: опередили демоны
__________________
low +

Старый 26.04.2011, 21:25
optemus вне форума Посмотреть профиль Отправить личное сообщение для optemus Найти все сообщения от optemus
  № 8  
Ответить с цитированием
optemus

Регистрация: Apr 2011
Сообщений: 87
Цитата:
Сообщение от ChuwY Посмотреть сообщение
Простые типы передаются по значению, а не по ссылкам.
Изменением timerSpeed мы ничего не добьемся.

Код AS3:
var delay                   : Number = 1000;
var fl_TimerInstance_2 :Timer = new Timer(delay);
а когда нужно сменить скорость, например

Код AS3:
var newDelay                : Number = 100; 
fl_TimerInstance_2.delay = newDelay;
это не подходит изменение должно быть по кнопке и я не предстакляю как на 1 кнопку посадить 1000 изменений скорости таймера

Старый 26.04.2011, 23:34
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А зачем вы и таймер и слушателей создаете каждый раз по-новой? Вообще, просто никогда не объявляйте функции внутри дургих функций, и сразу легче жить станет. Есть вариант, что поскольку ни ссылок на слушателей ни на таймер после того как функция вернется не останется, его просто мусорщик удалит через какое-то время, а может наоборот, он будет работать всегда, а достучаться до него вы уже никак не сможете - зачем вам это?
По поводу изменения скорости - то что ChuwY написал, больше у вас никаких инструментов нет, да и не нужно. Я не совсем понял вашу последную реплику - что вы имели в виду когда написали "менять 1000 раз"? Можете кликнуть 1000 раз на кнопку, вот он 1000 раз и поменяет скорость... но похоже вы имели в виду что-то другое...
__________________
Hell is the possibility of sanity

Старый 27.04.2011, 00:42
optemus вне форума Посмотреть профиль Отправить личное сообщение для optemus Найти все сообщения от optemus
  № 10  
Ответить с цитированием
optemus

Регистрация: Apr 2011
Сообщений: 87
да вы верно подумали.
не обходимо изменять скорость на разные величины не однократно.
больше всего подходит пример с педалью газа. Частота нажатий эффекта не даст, а вот усилие.
постепенно все быстрее и быстрее

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

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

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


 


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


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