我创建了一个带有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时间。我怎么能优化这个?
答案 0 :(得分:0)
一个想法:您可以尝试降低帧速率,以在平滑动画和可接受的速度之间取得平衡。根据我的经验,在游戏开始看起来不可接受之前,你可以在移动设备上获得惊人的低帧率。尝试这样的事情,并调整你的速度来模拟你以前的fps速度。显然,确切的调整取决于你。
createjs.Ticker.setFPS(12);