如何优化createjs网页游戏?

时间:2015-03-15 12:48:56

标签: html5 easeljs createjs

我创建了一个带有EaselJS的网页游戏,其中有一些(2-6)精灵在画布上移动。他们也可能根据鼠标事件进行扩展和缩小。

以下是我如何移动这些精灵:

container.enemies.forEach(function(drop) {
    drop.x += drop.vx;
    drop.y += drop.vy;
    checkHitWall(drop);

    var collided = drop.checkCollision(container.enemies);
    if (collided) {
        distributeVelocity(drop, collided);
    }
});

以下是我改变尺寸的方法:

growingObject = function(obj) {
  if (obj.radius > canvasWidth / 4) {
    return;
  }
  var rate = 1.01;
  obj.gotoAndStop("growing");

  obj.radius *= rate;
  obj.scaleX = obj.scaleY = obj.scale * rate;
  obj.scale = obj.scaleX;
}

当鼠标停止时,每次打勾都会调用此函数。

创建背景时会缓存背景。

我不知道是否有EaselJS移动/培养精灵的最佳做法。

游戏在桌面浏览器上运行,但在Android手机上非常滞后。

我认为这些精灵并不是手机的重负荷。分析结果显示draw方法占用大部分CPU时间。我怎么能优化这个?

1 个答案:

答案 0 :(得分:0)

一个想法:您可以尝试降低帧速率,以在平滑动画和可接受的速度之间取得平衡。根据我的经验,在游戏开始看起来不可接受之前,你可以在移动设备上获得惊人的低帧率。尝试这样的事情,并调整你的速度来模拟你以前的fps速度。显然,确切的调整取决于你。

createjs.Ticker.setFPS(12);