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

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

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

Регистрация: Jun 2014
Сообщений: 558
По умолчанию небольшой вопрос по flash.utils.Timer

Доброго!

В одном классе нужен Timer при том используется дважды с разным временем, в зависимости от ситуации, вопрос, можно ли обойтись одним, меняя ему время срабатывания, но чёт не увидел такой возможности.
Код AS3:
timer:Timer = new Timer(1000); //хочу изменять время срабатывания
Код AS3:
//если напишу так
timer:Timer = new Timer(1000);
timer.start();
//потом через какое-то время мне нужно поменять "1000" на "500"
timer.stop()
timer = new Timer (500);
timer.strat();
//то таймер срабатывает опять же через 1000

Старый 29.03.2016, 14:49
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
проверь, что отписываешься от всех ивентов старого таймера
Цитата:
timer.strat();
надеюсь это опечатка?

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

Регистрация: Oct 2007
Сообщений: 255
Записей в блоге: 1
Не надо создавать новый экземпляр таймера, надо изменить задержку Timer#delay
__________________
ответ прост: be || !be == true

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,639
Записей в блоге: 4
Цитата:
то таймер срабатывает опять же через 1000
Естественно, а чего ты ждал? Ты же создал новый таймер там, а тот с 1000 никуда не делся и продолжает работать.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 29.03.2016, 20:59
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 5  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
Так он же его стопорит

Старый 29.03.2016, 22:12
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 6  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
caseyryan я знаю что создал новый таймер, вопрос в том, как правильно такое реализовать, чтобы не создавать новый таймер, а изменить работу текущего

Старый 30.03.2016, 11:29
amesqit вне форума Посмотреть профиль Отправить личное сообщение для amesqit Найти все сообщения от amesqit
  № 7  
Ответить с цитированием
amesqit
 
Аватар для amesqit

Регистрация: Oct 2007
Сообщений: 255
Записей в блоге: 1
Цитата:
Сообщение от neonoviiwolf Посмотреть сообщение
caseyryan я знаю что создал новый таймер, вопрос в том, как правильно такое реализовать, чтобы не создавать новый таймер, а изменить работу текущего
чтобы не создавать новый таймер надо перейти по ссылке из моего коментария выше и прочитать про свойство delay таймера или написать, что это почему-то не подходит
__________________
ответ прост: be || !be == true

Старый 30.03.2016, 13:59
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 8  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
Цитата:
Сообщение от amesqit Посмотреть сообщение
чтобы не создавать новый таймер надо перейти по ссылке из моего коментария выше и прочитать про свойство delay таймера или написать, что это почему-то не подходит
delay - это параметр который определяет через сколько срабатывает таймер или через сколько запустится таймер?

Старый 30.03.2016, 15:00
amesqit вне форума Посмотреть профиль Отправить личное сообщение для amesqit Найти все сообщения от amesqit
  № 9  
Ответить с цитированием
amesqit
 
Аватар для amesqit

Регистрация: Oct 2007
Сообщений: 255
Записей в блоге: 1
Хорошо, если вам лень переходить по ссылке и читать описание класса Timer и свойства delay в частности то вот вам цитаты из документации
Цитата:
Сообщение от Документация Adobe
свойство
delay:Number
...
Задержка в миллисекундах между событиями таймера. Если установить интервал задержки во время работы таймера, таймер будет перезапущен на текущей итерации repeatCount.
Можно так же посмотреть описание конструктора
Цитата:
Сообщение от Документация Adobe
Конструктор
public function Timer(delay:Number, repeatCount:int = 0)
...
Создает новый объект Timer с заданными состояниями delay и repeatCount.

Таймер не запускается автоматически, для его запуска необходимо вызвать метод start().

Параметры
delay:Number — Задержка в миллисекундах между событиями таймера. Не рекомендуется задавать свойству delay значение меньше 20 миллисекунд. Частота объекта Timer ограничена 60 кадрами в секунду, то есть задержка меньше 16,6 миллисекунд вызывает проблемы во время выполнения.

repeatCount:int (default = 0) — Определяет количество повторений. Если значение равно 0, таймер повторяется бесконечно, максимально 24,86 дня (int.MAX_VALUE + 1). Если не равно нулю, таймер запускается указанное количество раз, а затем останавливается.
Таким образом таймер запускается только после вызова функции start(), а delay - задержка в миллисекундах между событиями таймера.
__________________
ответ прост: be || !be == true

Старый 30.03.2016, 15:22
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 10  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
amesqit спасибо, видимо я дважды не правильно понял написанное

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

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

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


 


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


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