使用Canvas的Buggy行为?

时间:2010-08-04 23:49:37

标签: javascript html5 webkit canvas

我正在使用html canvas制作游戏。

这是我的进步:

http://db.tt/ei3LlR(使用WASD和左/右箭头键) 帮助ZOOM。

我的问题是:

  • 为什么影子会在谷歌中闪烁 坦克转动时镀铬?
  • 为什么炮塔图像会闪烁 炮塔转动时的野生动物园?
  • 为什么它在Firefox中运行良好?

坦克图像和炮塔图像是普通的旧png。使用这些图像动态创建阴影。阴影不是图像对象,而是画布元素。

当我改变图像的旋转时,似乎只会发生闪烁。当我说闪烁时,我的意思是图像看起来缩小并且增长得有点快。当图像停止旋转时,闪烁再次停止。

这里发生了什么?这根本不是问题吗?

2 个答案:

答案 0 :(得分:1)

关于闪烁问题,您似乎不会双重缓冲画布。所以可能的事情是闪烁的,因为地面或阴影是在坦克之前绘制的,并且在你绘制坦克和炮塔之前屏幕刷新。

这个问题有点关于Canvas 2D的双缓冲: Does HTML5/Canvas Support Double Buffering?

我也想知道上下文的rotatetranslate方法中的小舍入误差是否可能导致当前图像的抖动。不同的浏览器实现可能对这些操作具有不同的准确度。您可以尝试将参数舍入到最接近的整数来检查它。

PS:到目前为止你的游戏看起来很棒 - 坦克的图形和处理非常好。

答案 1 :(得分:0)

更新。问题不再存在!他们必须修好它!