Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Javascript 在Phaser.js上的性能_Javascript_Phaser Framework - Fatal编程技术网

Javascript 在Phaser.js上的性能

Javascript 在Phaser.js上的性能,javascript,phaser-framework,Javascript,Phaser Framework,函数预加载(){ this.load.image('background','images/table_en.png.webp'); this.load.image('wheel','images/UpperWheel.png.webp'); this.load.image('ball','images/ball.png.webp'); roulette.circle.array.forEach(i=>{ this.load.image(`${i.index}`,i.src); }); roul

函数预加载(){
this.load.image('background','images/table_en.png.webp');
this.load.image('wheel','images/UpperWheel.png.webp');
this.load.image('ball','images/ball.png.webp');
roulette.circle.array.forEach(i=>{
this.load.image(`${i.index}`,i.src);
});
roulette.lever.array.forEach(i=>{
this.load.image(`${i.index}`,i.src)
});
}
函数更新(){
if(轮盘赌。循环。上一个循环){
roulette.circle.previousCircle.destroy()
}
if(轮盘赌、圆圈、上一个杠杆){
roulette.circle.previousLever.destroy();
}
if(roulette.circle.currentStep==100&&run){
ball.run=true;
}
设circle=this.add.image(108110,`circle${roulette.circle.currentStep}`).setOrigin(0,0).setScale(0.7);
lever=this.add.image(200150,`lever${roulette.lever.currentStep}`).setOrigin(0,0.setScale(0.7);
roulette.circle.method();
轮盘赌。杠杆。方法();
roulette.circle.previousCircle=圆;
roulette.circle.previousLever=杠杆;
}
每帧调用一次
update()
方法。Phaser游戏中的默认目标帧每秒(
fps
)为60-

游戏中的许多因素都会影响您将看到的实际
fps
。如果将其保留为默认值,则大约每秒调用
update()
方法60次。如果您希望用户能够真正看到每个图像,那么这可能不是您想要的行为

您可以降低游戏配置中的目标
fps
数字,如下所示:

{ 
  type: Phaser.AUTO,
  ...,
  fps: {
    target: 30 // 30x per second
  }
}
。。。但这可能是不完美的。这是对游戏更新速度的一个全球性的改变,可能还有其他事情需要每秒60次(比如检查输入等)

<> P>更改你的图像的频率,而不需要修改游戏的<代码> FPS,请考虑创建一个单独的方法来处理图像的销毁/创建,并引用在代码> UpDebug()/<代码>中的方法。p>

如果它仍然发生得太快,请考虑在超时中包装<代码>转换图像< /COD> BooLeIn,以进一步延迟图像的更新频率。p>

  setTimeout(() => {
    changingImage = true;
  }, 1000);
  setTimeout(() => {
    changingImage = true;
  }, 1000);