Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Может ли событие enterFrame происходить у отдельных пользователей в 2 раза медленнее? (http://www.flasher.ru/forum/showthread.php?t=141667)

mikhailk 01.07.2010 17:04

Может ли событие enterFrame происходить у отдельных пользователей в 2 раза медленнее?
 
Пытаюсь понять, то ли меня дурят пользователи, то ли я сам чего-то не понимаю. По словам некоторых индикатор работает вдвое дольше требуемого. У меня везде работает штатно.

Сам индикатор работает так. Вычисляю длительность процесса в секундах (варьируется от 0.1 до примерно 40 секунд), умножаю на 30 (частота кадров приложения) и получаю количество фреймов, за которые бар индикатора должен дорасти от нуля до единицы. Отсюда получаю приращение бара индикатора deltaScale в сотых долях на каждый фрейм. Храню в целом числе (т.е., изначально умножаю на 100, а потом, чтобы получить сотые доли делю на 10000).

Затем просто вешаю на событие enterFrame вызов вот этой функции и жду, пока бар вырастет до единицы:

Код AS3:

private function showIndicator(e:Event) {
 
        loadingIndicator.growBar.scaleX += deltaScale / 10000;                       
        if (loadingIndicator.growBar.scaleX>=1) {
                loadingIndicator.removeEventListener("enterFrame",showIndicator);
                removeChild(loadingIndicator);       
                loadingIndicator = null;
        }
}


Dweem 01.07.2010 17:20

fps вполне может сильно зависеть от мощности машины

BlooDHounD 01.07.2010 17:20

Код AS3:

var totalTime:uint = 40000;
var startTime:uint = getTimer();
....
var scale:Number = ( getTimer() - startTime ) / totalTime;


mikhailk 01.07.2010 17:38

значит действительно не дурят ))
ок, поставлю таймер.


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

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