我想使用html canvas实现一个简单的蛇游戏。我使用以下代码使蛇移动(使尾巴变白,并为之前计算的头部,顶部,左侧,宽度和阴影绘制新的矩形):
if (currentSnake.length == 45) {
var tail = currentSnake.shift();
ctx.fillStyle="white";
ctx.fillRect(tail.left, tail.top, tail.wid, tail.hid);
}
currentSnake.push({top: top, left: left,wid: wid, hid: hid});
ctx.fillStyle=coef[2];
ctx.fillRect(left, top, wid, hid);
其中coef [2]是我先前定义的某种颜色。一切都很好,但是蛇的尾巴不是白色(coef [2]和白色之间的某种混合颜色)。我该如何解决?
尝试
if (currentSnake.length == 45) {
var tail = currentSnake.shift();
ctx.fillStyle = "white";
ctx.fillRect(Math.floor(tail.left), Math.floor(tail.top),
Math.ceil(tail.wid), Math.ceil(tail.hid));
}
这应该解决光滑边缘的问题。但这并不完美。
最好的解决方案是每次都将画布完全弄白,然后重画蛇的所有身体部位。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句