Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3:FPS降落_Actionscript 3_Text_Updates_Frame Rate - Fatal编程技术网

Actionscript 3 AS3:FPS降落

Actionscript 3 AS3:FPS降落,actionscript-3,text,updates,frame-rate,Actionscript 3,Text,Updates,Frame Rate,啊。当我想用如下输入框更新信息时: import flash.events.Event; var ticks:uint = 0; var last:uint = getTimer(); var food:uint = 10; var wood:uint = 10; var stone:uint = 10; stage.addEventListener(Event.ENTER_FRAME, update); // getFPS stage.addEventListener(Event.ENTE

啊。当我想用如下输入框更新信息时:

import flash.events.Event;

var ticks:uint = 0;
var last:uint = getTimer();
var food:uint = 10;
var wood:uint = 10;
var stone:uint = 10;

stage.addEventListener(Event.ENTER_FRAME, update); // getFPS
stage.addEventListener(Event.ENTER_FRAME, list); //get Materials Info

function update(e:Event){
ticks++;
var now:uint = getTimer();
var delta:uint = now - last;
   if (delta >= 1000) {
            var fps:int = ticks / delta * 1000;
            fpsText.text = String(fps+"fps");
            ticks = 0;
            last = now;
        }

}// 

function list(e:Event){

foodText.text = String(food+"food");
woodText.text = String(wood+"wood");
stoneText.text = String(stone+"stone");

}//
fps下拉列表

当我像这样更改代码时:

import flash.events.Event;

var ticks:uint = 0;
var last:uint = getTimer();
var food:uint = 10;
var wood:uint = 10;
var stone:uint = 10;

stage.addEventListener(Event.ENTER_FRAME, update); // getFPS

function update(e:Event){
ticks++;
var now:uint = getTimer();
var delta:uint = now - last;
   if (delta >= 1000) {
            var fps:int = ticks / delta * 1000;
            fpsText.text = String(fps+"fps");
            list();
            ticks = 0;
            last = now;
        }

}// 

function list(){

foodText.text = String(food+"food");
woodText.text = String(wood+"wood");
stoneText.text = String(stone+"stone");

}//
fps在15分钟后下降

我知道问题在函数列表中,但我如何在不减慢fps的情况下快速列出材质。 如何将此更改为干净运行?
Thx代表hlp。

我假设其他地方有更多的代码会改变食物、木材和石头的价值。如果enterframe上的值不变,则无需更新这些值。也许只有在更改值时才能更新UI?所以,从输入框中删除列表,并在更改值时执行类似操作

function getWood(){
   wood++;
   list();
}

function useWood(){
   wood--;
   list();
}

这是唯一执行的代码吗?如果这不是一个选项,您可以运行enterframe并另外使用计时器以较慢的速度更新某些UI?