Javascript / HTML5 fillStyle不会改变

时间:2013-01-29 00:05:49

标签: javascript html5

除了这部分,我的所有Javascript代码都正常工作。 问题是它即使打印了1,2,3,4或5个警报也不会改变颜色。关于我可能做错什么的任何想法?

  • 它始终是默认的黑色方块。
  • 假设tile是随机浮动。
  • 水线等于50。
  • tile_size是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);
    

1 个答案:

答案 0 :(得分:1)

除非我弄错了,否则不会解析字符串。您需要正确地转义tile变量:

ctx.fillStyle = "rgb("+(255-tile)+", "+(255-tile)+", "+(255-tile)+")";