Решил написать небольшой класс который выводит данные два параметра, после того как нажать " ` ", выводит fps с точностью до первого знака после запятой, и количество памяти в kb.
package
{
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.getTimer;
import flash.system.System;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class FPSCounter extends Sprite
{
private var last:uint = getTimer();
private var ticks:uint = 0;
private var tf:TextField;
public function FPSCounter(stage:Stage)
{
tf = new TextField();
tf.textColor = 0x000000;
tf.text = "----- fps --------- memory";
tf.selectable = false;
tf.autoSize = 'left';
tf.textColor = 0xeeeeee;
tf.background = true;
tf.backgroundColor = 0x333333;
//ставим прослушиватель на нажатия кнопок клавиатуры
//ставим прослушиватель на нажатия кнопок клавиатуры
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
}
private function keyPressedDown(event:KeyboardEvent):void
{
var key:uint = event.keyCode;
if (key == Keyboard.BACKQUOTE)
{
// если еще не нажимали и текст не находится в области видимости
// если еще не нажимали и текст не находится в области видимости
if (!tf.parent)
{
stage.addEventListener(Event.ENTER_FRAME, tick);
stage.addChild(tf);
}
else
{
stage.removeEventListener(Event.ENTER_FRAME, tick);
stage.removeChild(tf);
}
}
}
public function tick(evt:Event):void
{
//считаем fps и memory
//считаем fps и memory
ticks++;
var now:uint = getTimer();
var delta:uint = now - last;
if (delta >= 1000)
{
var fps:Number = ticks / delta * 1000;
tf.text = fps.toFixed(1) + " fps " +
int(System.totalMemory/1024) + 'kb'+ " memory";
int(System.totalMemory/1024) + 'kb'+ " memory";
ticks = 0;
last = now;
}
}
}
}
А теперь осталось только создать экземпляр класса в Main.as:
package
{
import flash.display.Sprite;
import flash.display.Stage;
import FPSCounter;
public class Main extends Sprite
{
public function Main()
{
var fps:FPSCounter = new FPSCounter(stage);
addChild(fps)
}
}
}
Теперь по нажатию на клавишу на клавиатуре, мы можем получить доступ к этим важным для нас данным.
Приятного тестирования и работы)
User referenced to your post from Подгоняем элементы на живую saying: [...] предыдущем посте [...]
ОтветитьУдалить