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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.09.2010, 06:28
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 11  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
Цитата:
Сообщение от expl Посмотреть сообщение
...Присоединяюсь к вопросу, и есть ли надежный способ сделать это с помощью js (давно пытался, не получалось более чем для одного бравзера)?
Насколько мне известно этой проблемы еще никто не решил. По крайней мере если кто то и решил то опубликовывать не спешит. Стандартные средства JS предназначенные для этого работают более менее только в одном браузере. Так что все "пингуют" пользователя всякими разными способами, либо замеряют паузу активности.

А есть ли средства flash что бы отследить свертывание окна браузера или переключения на другую вкладку?
__________________
Ведь я только всего и хочу, чтобы все всегда было по-моему...


Последний раз редактировалось Хомяк; 28.09.2010 в 07:02.
Старый 28.09.2010, 12:11
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 12  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от Хомяк Посмотреть сообщение
А есть ли средства flash что бы отследить свертывание окна браузера или переключения на другую вкладку?
Таких средств нет, никакие события не диспатчатся.

Были похожие грабли - вам надо привязываться не к кадрам, а к времени.
В 10.1 FP при смене/сворачивании вкладок ФПС понижается до 4х ( косвенно можно например так отследить), поэтому ваша анимация длится дольше.

Старый 28.09.2010, 12:31
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 13  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Таких средств нет, никакие события не диспатчатся.
А как же Event.ACTIVATE и Event.DEACTIVATE?
__________________
...вселенская грусть

Старый 28.09.2010, 12:46
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 14  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
А как же Event.ACTIVATE и Event.DEACTIVATE?
А если у человека FP ниже 10.1, а мы будем считать, что при потере фокуса плеер ушел в sleep mode?

И эти события отслеживают потерю фокуса, а это может быть просто перекрытие другим окном.

Note: No ActionScript event is dispatched when Flash Player enters or leaves sleep mode.


Последний раз редактировалось andrew911; 28.09.2010 в 13:09.
Старый 28.09.2010, 12:50
nldr вне форума Посмотреть профиль Отправить личное сообщение для nldr Найти все сообщения от nldr
  № 15  
Ответить с цитированием
nldr
 
Аватар для nldr

Регистрация: Jul 2009
Сообщений: 48
Присоединяюсь к вопросу. Вот игра, которая в паузу уходит, например http://www.kongregate.com/games/rich...r/hello-worlds

Старый 28.09.2010, 13:07
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 16  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от nldr Посмотреть сообщение
Присоединяюсь к вопросу. Вот игра, которая в паузу уходит, например http://www.kongregate.com/games/rich...r/hello-worlds
Предложили же отслеживать Event.ACTIVATE и Event.DEACTIVATE

Старый 28.09.2010, 13:20
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 17  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
Похожая проблема была у меня. Попробую описать.
Был один таймер, время его работы, примерно 1,5 сек, назовем его "Короткий таймер". И был другой таймер, его время работы 12 сек, пусть будет "Длинный таймер". Порядок их работы следующий:

1. Включается слушатель Короткого таймера.
2. Включается Длинный таймер.
3. Включается Короткий таймер.
4. Событие - Короткий таймер. По окончанию работы Короткого таймера включается слушатель Длинного.
5. Событие - Длинный таймер. Отключается слушатель Длинного таймера.
Дальше все это работает циклично по пунктам 2-5...

Так вот при сворачивании окна, или переключении на другую вкладку работа Короткого таймера резко замедлялась, судя по getTimer() на его работу уходило 18 сек. а не 1,5. А Длинный таймер работал примерно с такой же продолжительностью как и при открытом окне, если скорость и отличалась то незначительно. А вторая особенность была в том, что Слушатель Длинного таймера срабатывал, несмотря на то, что Короткий таймер не успевал его включить, ведь его работа стала продолжительней Длинного таймера. Слушатель Длинного таймера был отключен однозначно, проверял hasEventListener и willTriger, и тем не менее реагировал на событие окончания работы Длинного Таймера! Вот такая штука. Решилось это установкой в Слушателе инструкции if(hasEventListener)...
Баг это или не баг, незнаю, но покопав в этом направлении можно сделать модуль сигнализирующий о том, что пользователь свернул окно или перешел на другую вкладку. Ведь признака падения fps не достаточно, так как на сцене, к примеру, могут выполнятся ролики с разным fps.
__________________
Ведь я только всего и хочу, чтобы все всегда было по-моему...

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
А если у человека FP ниже 10.1, а мы будем считать, что при потере фокуса плеер ушел в sleep mode?
Ну как вариант =)
А вообще можно еще через js и ExternalInterface попробовать - т.к. сворачивание браузера или переключение на другую вкладку есть события браузера, а не FP. Всякие там window.onBlur есть для этого

Цитата:
так как на сцене, к примеру, могут выполнятся ролики с разным fps.
Это, интересно, как?
__________________
...вселенская грусть

Старый 28.09.2010, 14:05
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 19  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Хомяк

Одного знания FPS конечно недостаточно, так как может быть падение фпс.
Поэтому советую отталкиваться от временных промежутков, а не от кадров.

Таймер не может замедлятся сам по себе, фпс падает до 4, но промежутки времени определяются также.

http://www.flashgamesclassroom.com/c...sed-animation/

Старый 28.09.2010, 14:34
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 20  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
andrew9911 Вы правы, замедлялся он не сам по себе, это скорее процесс обработки графики построенный на таймерах, что бы упростить я назвал его Коротким таймером, возможно это было не очень правильно, но интересно не замедление само по себе. А то, что слушатель реагировал на событие будучи не активированным, более того, он сам знал, что он неактивен! Как вам это? "Привет! Я не активен. Н-н-на!!! Тебе событие!" . Нормально да?

А по поводу "onBlur"а - потому у нас все так криво и работает, что пытаемся прикрутить то что предназначено для другого к тому, что нам надо.
__________________
Ведь я только всего и хочу, чтобы все всегда было по-моему...


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

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

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


 


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


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