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

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

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

Регистрация: Mar 2013
Сообщений: 45
По умолчанию Почему останавливается секундомер при свёртывания окна?

Здравствуйте!
Я заметила особенность одну, у меня есть ролик с отображением секундомера. В общем, он отсчитывает время, но когда я сворачиваю окно или перехожу на другую вкладку в браузере... секундомер останавливается, даже через пару минут я возвращаюсь в ролик... секундомер продолжает делать отсчёт
Почему это происходит и как это можно исправить?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
это фишка флеш плеера. Фреймрейт падает до 4 кадров в секунду (если мне память не изменяет) при потере фокуса вкладки с плеером. Чтобы весь бразуер не тормозил. Исправить нельзя, это зашито в сам плеер.

Старый 31.05.2013, 15:19
Final Hope вне форума Посмотреть профиль Найти все сообщения от Final Hope
  № 3  
Ответить с цитированием
Final Hope
Banned
[+5 04.06.13]
[+1 08.06.13]

Регистрация: May 2013
Сообщений: 52
Если флеш плеер находится в неактивном состоянии, то фпс падает до 4 кадров. Чтобы секундомер работал правильно, лучше использовать класс Date.

Старый 31.05.2013, 16:24
sidorenkova вне форума Посмотреть профиль Отправить личное сообщение для sidorenkova Найти все сообщения от sidorenkova
  № 4  
Ответить с цитированием
sidorenkova

Регистрация: Mar 2013
Сообщений: 45
Цитата:
Сообщение от Final Hope Посмотреть сообщение
Если флеш плеер находится в неактивном состоянии, то фпс падает до 4 кадров. Чтобы секундомер работал правильно, лучше использовать класс Date.
Date ??? А как использовать этот класс? Если не сложно, можно об этой реализации где-то прочитать?

То есть как примерно реализовать date чтобы был отсчёт без сбоя таймера при неактивности окна браузера


Последний раз редактировалось sidorenkova; 31.05.2013 в 16:58.
Старый 31.05.2013, 17:21
Final Hope вне форума Посмотреть профиль Найти все сообщения от Final Hope
  № 5  
Ответить с цитированием
Final Hope
Banned
[+5 04.06.13]
[+1 08.06.13]

Регистрация: May 2013
Сообщений: 52
Вот тут можно много всего почитать: http://help.adobe.com/ru_RU/FlashPla...tml#!Date.html
Например, вот такой пример:
Код AS3:
import flash.text.TextField;
import flash.events.Event;
 
var timerTextField:TextField = new TextField();
var startDate:Date = new Date();
var currentDate:Date;
var deltaTime:Number;
 
timerTextField.width = 200;
this.addChild(timerTextField);
 
stage.addEventListener(Event.ENTER_FRAME, updateTimerHandler);
//----------------------------------------------------------
//  Event handlers
//----------------------------------------------------------
function updateTimerHandler(event:Event):void
{
	currentDate = new Date();
	deltaTime = currentDate.getTime() - startDate.getTime()
	currentDate.setTime(deltaTime);
	timerTextField.text = "С момента запуска прошло: " +
	currentDate.getUTCHours().toString() + ":" + 
	currentDate.getUTCMinutes().toString() + ":" + 
	currentDate.getUTCSeconds().toString();
}

Старый 31.05.2013, 17:44
sidorenkova вне форума Посмотреть профиль Отправить личное сообщение для sidorenkova Найти все сообщения от sidorenkova
  № 6  
Ответить с цитированием
sidorenkova

Регистрация: Mar 2013
Сообщений: 45
Цитата:
Сообщение от Final Hope Посмотреть сообщение
Вот тут можно много всего почитать: http://help.adobe.com/ru_RU/FlashPla...tml#!Date.html
Например, вот такой пример:
Код AS3:
import flash.text.TextField;
import flash.events.Event;
 
var timerTextField:TextField = new TextField();
var startDate:Date = new Date();
var currentDate:Date;
var deltaTime:Number;
 
timerTextField.width = 200;
this.addChild(timerTextField);
 
stage.addEventListener(Event.ENTER_FRAME, updateTimerHandler);
//----------------------------------------------------------
//  Event handlers
//----------------------------------------------------------
function updateTimerHandler(event:Event):void
{
	currentDate = new Date();
	deltaTime = currentDate.getTime() - startDate.getTime()
	currentDate.setTime(deltaTime);
	timerTextField.text = "С момента запуска прошло: " +
	currentDate.getUTCHours().toString() + ":" + 
	currentDate.getUTCMinutes().toString() + ":" + 
	currentDate.getUTCSeconds().toString();
}

Огромное спасибо!!! Вы - настоящий друг!

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

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

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


 


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


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