javascript - 将对象添加到数组中

标签 javascript canvas

有人能告诉我这段代码有什么问题吗?我试图用正方形作为对象填充 Canvas ,但是当循环完成并且我试图在 Canvas 上绘制该正方形时什么也没有发生...

var canvas = document.getElementById('c');
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(35, 180, 218)";

var rectHeight = 5;
var rectWidth = 5;

var cells = [];

for (var i = 0; i <= canvas.width/rectWidth; i++) {
    for (var x = 0; x <= canvas.height/rectHeight; x++) {
        cells[i] = {
            posX : i*rectWidth,
            posY : x*rectHeight,
            draw : function() {
                ctx.fillRect(posX, posY, rectWidth, rectHeight);
            },
            clear : function() {
                ctx.clearRect(posX, posY, rectWidth, rectHeight);
            }
        };
    }
}

cells[2].draw;

最佳答案

var canvas = document.getElementById('c');
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";

var rectHeight = 15;
var rectWidth = 15;

var cells = [];

for (var i = 0; i <= canvas.width/rectWidth; i++) {
    for (var x = 0; x <= canvas.height/rectHeight; x++) {
        cells[i] = {
            posX : i*rectWidth,
            posY : x*rectHeight,
            draw : function() {
                ctx.fillRect(this.posX, this.posY, rectWidth, rectHeight);
            },
            clear : function() {
                ctx.clearRect(positionX, positionY, rectWidth, rectHeight);
            }
        };
    }
}
cells[2].draw();
<canvas id="c" width="500" height="400"></canvas>

关于javascript - 将对象添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770693/

相关文章:

asp.net-core - 将文本放置在 ChartJS 的图表 Canvas 区域中

javascript - 动态设置图像高度和宽度后,Fabric js 图像质量不佳

Python Canvas 建议

php - 仅在加载 WordPress 索引时显示 div 的简单函数

Javascript 实现异步以将长时间运行的进程的结果放入数组

javascript - 在 div 淡入后重置它以防止 'stacking'

javascript - 如何在 javascript 中打开由 express.js sendfile 函数发送的图像[+解决方案]

javascript - HTML Canvas 通过鼠标单击绘制一个圆并拖动它,直到获得所需的半径

javascript - 如何使用 Javascript 动态调整 html <canvas> 的大小?

javascript - v8::value 到 date 之间的转换