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

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

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

Регистрация: Mar 2016
Сообщений: 34
По умолчанию Таймер в EnterFrame

Пытаюсь сделать таймер в EnterFrame по секундам при щелчке кнопкой мыши срабатывает EnterFrame, где идет отсчет времени. Через 7 секунд функция отключается.

Код AS1/AS2:
var fire = false;
var sec = 0;
 
function init()
{
	q = getTimer();
	onMouseDown = function ()
	{
		fire = true;
	}
 
	onEnterFrame = function ()
	{
		if(fire)
		{
			sec = Math.floor((getTimer() - q) / 1000);
		}
		trace(sec);
		if(sec >= 7)
		{
			fire = false;
			sec = 0;
		}
	}
}
init();
Когда щелкаешь в начале все работает нормально, но если при тестировании щелкнуть не в начале а через несколько секунд то отcчет идет уже не с нуля как обычно а через 2 секунды например. Как исправить так, чтобы отсчет шел всегда с нуля, какой бы задержка не была.

P.S. setInterval не предлагать мне нужно именно через enterFrame.

Старый 25.05.2016, 09:25
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Код AS1/AS2:
var fire = false;
var sec = 0;
 
function init(){
 
	var q = 0
 
	onMouseDown = function (){
		fire = true;
		q = getTimer();
	}
 
	onEnterFrame = function (){
		if(fire){
			sec = Math.floor((getTimer() - q) / 1000);
		}
		TMT.text = sec
 
		if(sec >= 7){
			fire = false;
			sec = 0;
		}
	}
}
init();
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 25.05.2016, 10:18
Alexey25 вне форума Посмотреть профиль Отправить личное сообщение для Alexey25 Найти все сообщения от Alexey25
  № 3  
Ответить с цитированием
Alexey25

Регистрация: Mar 2016
Сообщений: 34
Спасибо, все работает.

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

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

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


 


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


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