この部分を除いて、すべての Javascript コードが機能しています。問題は、アラート 1、2、3、4、または 5 を印刷しても色が変わらないことです。私が間違っているかもしれないことについてのアイデアはありますか?
- これは常にデフォルトの黒い四角です。
- タイルがランダムフロートであると仮定します。
- 喫水線は 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);