Javascript/HTML5 fillStyle赢得';不变
除了这一部分,我所有的Javascript代码都正常工作。 问题在于,即使打印1、2、3、4或5个警报,它也不会改变颜色。你知道我做错了什么吗Javascript/HTML5 fillStyle赢得';不变,javascript,html,Javascript,Html,除了这一部分,我所有的Javascript代码都正常工作。 问题在于,即使打印1、2、3、4或5个警报,它也不会改变颜色。你知道我做错了什么吗 它始终是默认的黑色正方形 假设平铺是一个随机浮动 水线等于50 瓷砖尺寸为4 var tile = Math.round(this.map[y][x]); if(tile <= this.waterline) { ctx.fillStyle = "rgb(25, 25, tile+75)";
- 它始终是默认的黑色正方形
- 假设平铺是一个随机浮动
- 水线等于50
- 瓷砖尺寸为4
var tile = Math.round(this.map[y][x]); if(tile <= this.waterline) { ctx.fillStyle = "rgb(25, 25, tile+75)"; alert("1"); } else if(tile > this.waterline && tile <= this.waterline + 10) { ctx.fillStyle = "rgb(tile+80, tile+80, 100)"; alert("2"); } else if(tile > this.waterline + 10 && tile <= this.waterline + 40) { ctx.fillStyle = "rgb(0, 255-tile, 0)"; alert("3"); } else if(tile > this.waterline + 40 && tile <= 190) { ctx.fillStyle = "rgb(0, 255-tile, 0)"; alert("4"); } else if(tile > 190) { ctx.fillStyle = "rgb(255-tile, 255-tile, 255-tile)"; alert("5"); } alert(ctx.fillStyle + " " + tile + " " + this.waterline); ctx.fillRect(x * this.tile_size, y * this.tile_size, this.tile_size, this.tile_size);
var tile=Math.round(this.map[y][x]); if(平铺this.waterline&&tile this.waterline+10&&tile this.waterline+40&&tile 190){ ctx.fillStyle=“rgb(255块、255块、255块)”; 警报(“5”); } 警报(ctx.fillStyle+“”+tile+“”+this.waterline); ctx.fillRect(x*this.tile\u大小,y*this.tile\u大小,this.tile\u大小,this.tile\u大小);
- 除非我弄错了,否则字符串不会被解析。您需要正确地转义
磁贴
变量:
ctx.fillStyle = "rgb("+(255-tile)+", "+(255-tile)+", "+(255-tile)+")";
如果没有更多的代码,我无法真正创建一个测试用例来确定。@gabykag.Petrioli在你发表评论之前我就已经意识到了这一点。