Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/HTML5 fillStyle赢得';不变_Javascript_Html - Fatal编程技术网

Javascript/HTML5 fillStyle赢得';不变

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)";

除了这一部分,我所有的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)";
                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在你发表评论之前我就已经意识到了这一点。