我正在开发一个canvas游戏,其中有多个粒子生成器。这些粒子在创建后逐渐缩小。为了从它们的中心点缩小粒子,我使用了context.translate()方法:
context.save();
context.translate(particle.x, particle.y);
context.translate(-particle.width/2, -particle.height/2);
context.drawImage(particle.image, 0, 0, particle.width, particle.height);
context.restore();
我读过几篇文章,声称save(),translate()和restore()方法计算成本相当高。是否有其他替代方法可以使用?
我的游戏针对移动浏览器,因此我正在尽可能地优化性能。
提前感谢!
context.drawImage(particle.image, particle.x-particle.width/2, particle.y-particle.height/2, particle.width, particle.height);
但是现在旋转不起作用了。可以安全地假设这种方法只适用于缩放/平移吗? - Peter Ringelmann