![]() |
Пауза для таймера
Есть ли у стандартного таймера метод для паузы?
Что бы после запуска продолжал с того же места где и закончил или самому необходимо писать? |
Start и Stop.
Собственно говоря, а что Вы хотите такое специфическое увидеть в методе Pause? Flash ведь однопоточный. Все функции запускаются последовательно одна за другой, и никакой параллельной работы нет. Поэтому сама идея "приостановить таймер" не имеет смысла. |
Имеет. Действие происходит каждые две секунды.Прошла одна секунда. Игрок нажимает на кнопку паузы и я вызываю стоп() после чего когда игрок нажимает плей я вызываю старт, но таймер начинает работать сначала и игрок будет ждать еще 2 секунды ((
|
Цитата:
Код AS3:
|
Спасибо... Надеялся что есть чото готовое(( Ну ладно)
|
Не надо останавливать таймер вообще
1. Определяетесь с дискретизацией взаимодействия с пользователем и ставите это значение в таймер. Например, 100мс. 2. Заводите метки времени stepStartPoint и stepPausePoint - время начала текущего шага процесса и время, когда была нажата кнопка паузы 3. Заводите флажок активности процесса, например isProcessing 4. Запускаете таймер, ставите в stepStartPoint стартовое время и isProcessing=true 5. В обработчике таймера проверяете isProcessing==true и разницу текущего времени и stepStartPoint требуемой частоте визуализации шага процесса (например, 2 сек), если не меньше - отрабатываете визуализацию и записываете текущее время в stepStartPoint 6. При нажатии паузы записываете в stepPausePoint текущее время и выставляете isProcessing=false 7. При нажатии резюма корректируете stepStartPoint с учетом текущего времени и stepPausePoint и выставляете isProcessing=true |
| Часовой пояс GMT +4, время: 05:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.