Четверг, 21 Ноября 2024, 11:41

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

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [83]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [147]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [167]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [132]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Как часто вы играете на мобильных устройствах?
Всего ответов: 1115
Главная » Статьи » Создание игр

Измерение FPS на AS3.0
Всем привет.

Сегодня я расскажу, как сделать простенький класс для измерения 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.
Привязываем к муви-клипу и пихаем на сцену/добавляем сами кодом.

Категория: Создание игр | Добавил: Anarchyst (29 Июля 2012)
Просмотров: 9614 | Рейтинг: 2.8/9 |
Теги: AS3, измерение, AS3.0, код, Измерение FPS, AS, fps, программирование, Переменные
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Измерение FPS на AS3.0», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Free Heroes
  • MakeCode Arcade
  • Quake II
  • Fabula
  • CSP Game Engine
  • Fighter Creator
  • Devana
  • TDG
  • 3D Game Studio
  • Castle Game Engine
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг