0

我正在开发基于 canvas 2d 的 html5 游戏。我有很多重绘的问题(制作 30fps)。我需要重绘很多对象。由于单位的动画(如位于单位上方的墙壁)。我想提高它的性能并为每个对象制作很多画布(大约 200 个画布)。是很好的解决方案吗?或在 1 个画布上每秒重绘 30 次大量对象。这是示例:(基本语言俄语)http://wpgame.cloudapp.net/Home/Game

在此处输入图像描述

这里有2个单位。第一个在框上方 第二个在框下方。我使用 1 个画布。要绘制单位的动画,我需要清晰的矩形区域(并且它会影响框)并且我必须重新绘制框。我不想重绘盒子。我认为解决方案是:为盒子制作 2 个画布和几个画布。并且只在单位画布上重绘。但它可能很慢。

4

1 回答 1

1

拥有很多画布是一个非常糟糕的主意。你应该有 1 个画布,但只重绘你需要重绘的东西。基于 javascript 画布的游戏 (2d) 的常见做法是有两个数组:1 个 STATIC 将包含关卡 - 墙壁、路径等,将在关卡初始化中绘制,另一个数组 - DYNAMIC 包含移动的东西,比如玩家、敌人等等。

这基本上意味着突然间你不需要重绘所有东西——只需要移动的东西。这将显着提高您的游戏性能。

我建议看看这个:http ://www.felinesoft.com/blog/index.php/2010/09/accelerated-game-programming-with-html5-and-canvas/

于 2013-08-19T10:31:48.780 回答