Воскресенье, 22 Декабря 2024, 09:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Меряем FPS
AnarchystДата: Четверг, 26 Июля 2012, 09:04 | Сообщение # 1
Chaotic Evil
Сейчас нет на сайте
Всем привет.

Сегодня я расскажу, как сделать простенький класс для измерения FPS. Там все просто, как 1+1, пишу просто от нечего делать.

Итак,
Как он работает? Все очень просто. Каждый фрейм к переменной прибавляется 1. Каждую секунду по таймеру эта переменная приравнивается к нулю и ее значение выводится на экран.

Впере-е-ед!

Шаг 1.
Создаем класс FPSInspector. У меня он называется SBFPSInspector, но это не суть важно.
Шаг 2.
Создаем переменные
Code
private var fps:int; //Собственно, FPS
private var fpsMeterTF:TextField = new TextField(); //TextField, чтобы выводить FPS на экран.
private var timer:Timer = new Timer(1000, 0);
//Тот-самый-таймер.
Шаг 3.
Создаем функции onTimerTick и onEnterFrame. Так, как они должны быть повешены на событие, оба должны иметь один аргумент типа Event.

onTimerTick:
Code
private function onTimerTick(e:Event):void
       {
        fpsMeterTF.text = "FPS: " + String(fps);//Выводит FPS на экран
        fpsMeterTF.textColor = 0xFF0000;//Меняет цвет на красный, если FPS меньше 10.
        if(fps>10)
        {
         fpsMeterTF.textColor = 0xFFFF00; //Меняет цвет на желтый, если FPS больше 10, но меньше 25
        }
        if(fps>25)
        {
         fpsMeterTF.textColor = 0x33FF00; //Меняет цвет на зеленый, если FPS больше 25.
        }
        fps = 0;
       }


onEnterFrame:
Code
private function onEnterFrame(e:Event):void
       {
        fps++; //+1 к FPS.
       }


Как видите, все очень просто.
Шаг 4.
Функция инициализации
Code

this.addChild(fpsMeterTF); //Добавляет TextField
fpsMeterTF.textColor = 0xFFFFFF; //Устанавливает изначальный цвет на белый
fpsMeterTF.antiAliasType = "Use device fonts"; //Устанавливает Anti-Alias
fd psMeterTF.width = 96; //Ширина
timer.addEventListener(TimerEvent.TIMER, onTimerTick); //Листенер для таймера
timer.start(); //Старт таймера
stage.addEventListener(Event .ENTER_FRAME, onEnterFrame); //Листенер для смены кадра


Шаг 5.
Привязываем к муви-клипу и пихаем на сцену/добавляем сами кодом.



Good отстой, Neutral - параша, Evil, хой, победа наша!


Сообщение отредактировал Anarchyst - Четверг, 26 Июля 2012, 09:10
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг