自 2 年前以来,我一直在浏览器中构建策略游戏。它已经被一小群人积极玩过,所以它是一个有效的游戏。我们的问题是它的资源匮乏。基本上你想要歌剧或铬。IE9 或多或少无法播放,firefox 在某些地图上可能会很慢。
该游戏是一个基于瓷砖的自上而下的游戏,使用 64x64 像素的 DIV 作为地图。
我们目前处于结束阶段,我们正专注于优化。消耗资源的东西之一是我们的动画水。我们将 32 块不同的水块分成 15 帧。因此,一个 1.1 mb 的 .gif 文件中有 480 个 64x64 图像。
这是水的链接:http ://www.warbarons.com/beta5/terrain/water/water2.gif
我们的游戏使用战争迷雾来隐藏你看不到的敌方单位和城堡,就像任何 RTS 游戏一样。因此,在 .gif 之上通常有一个带有透明 PNG 的图层。
看起来这个解决方案对浏览器要求很高。当我滚动地图以显示 FireFox CPU 中的水时,CPU 会上升 25%,而当看不到水时,它会在 4-5% 左右。
我已经在谷歌上搜索了几天,试图了解更好的技术。我发现了另外两种方法,或者使用遍历电子表格的画布标签,或者使用 CSS 循环遍历电子表格。
我看到这两个选项的问题是所有水砖必须保持同步。如果一个人在另一个人之前开始播放,波浪将不会同步,这将破坏无缝的外观。
我想知道是否有人有解决这个问题的想法?我知道拥有多个 gif 动画会导致不同步问题。
有没有一些更巧妙的方法来使用画布来做到这一点?甚至可以将画布与 div 混合使用,还是需要我们更改整个地图引擎?
任何帮助将不胜感激。