【问题标题】:Why is my game so much slower on Phaser 3 when I try and port it from Phaser 2?当我尝试从 Phaser 2 移植游戏时,为什么我的游戏在 Phaser 3 上的速度如此之慢?
【发布时间】:2019-04-01 18:33:54
【问题描述】:

我有一个在 Phaser 2 中制作的蛇游戏。我正在尝试创建一个 Phaser 3 版本。当我的蛇变得太长时,它真的会滞后。这是 Phaser 2 的原始代码

  var part = snakePath.pop();

  part.setTo(snakeHead.x, snakeHead.y);

  snakePath.unshift(part);

  for (var i = 1; i <= numSnakeSections - 1; i++)
  {
    snakeSection[i].x = (snakePath[i * snakeSpacer]).x;
    snakeSection[i].y = (snakePath[i * snakeSpacer]).y;

    if(i==numSnakeSections-3){
      emitter.x = snakeSection[i].x;
      emitter.y = snakeSection[i].y;
    }
  }

snakePath 是一个数组,蛇的每个部分都将跟随。每个snakeSpace 是每个正文部分之间的空间量。

Phaser 3 的版本如下:

  var part = snakePath.pop();

  part=new Phaser.Geom.Point(snakeHead.x, snakeHead.y);

  snakePath.unshift(part);

  for (var i = 1; i <= numSnakeSections - 1; i++)
  {
    snakeSection[i].x = (snakePath[i * snakeSpacer]).x;
    snakeSection[i].y = (snakePath[i * snakeSpacer]).y;
  }

由于游戏无法跟上渲染的速度,身体部分之间的距离会变得很远。有解决办法吗?

附:我的代码基于 Phaser 2 示例:https://phaser.io/examples/v2/arcade-physics/snake

【问题讨论】:

    标签: javascript game-engine game-physics


    【解决方案1】:

    发现我的精灵图像太大了。它是 1000x1000。我将它设置为 25x25 并且效果很好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-04
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      相关资源
      最近更新 更多