我正在使用Kineticjs绘制栅格。这适用于 Kinetic.Rect。现在我想使用Kinetic.Rect以外的其他对象。在这个对象中,我应该能够保存光栅中位置的 x 和 y。我必须遵循以下代码:
function Tile(rasterX, rasterY, occupied, config) {
Kinetic.Rect.call(this, config);
this.rasterX = rasterX;
this.rasterY = rasterY;
this.occupied = occupied;
}
Tile.prototype = new Kinetic.Rect();
Tile.prototype.constructor = Tile;
现在我更改了创建的 Kinetic.Rect 的代码(这有效):
var tile = new Kinetic.Rect({
width: drawWidth,
height: drawHeight,
stroke: 'black',
fill: 'grey',
x: x,
y: j * drawHeight
});
到:
var tile = new Tile(j, i, false, {
width: drawWidth,
height: drawHeight,
stroke: 'black',
fill: 'grey',
x: x,
y: j * drawHeight
});
不知何故,配置没有正确传递给 Kinetic.Rect 构造函数,因为创建的所有图块的 x 和 y 都是相同的(画布的右下角)。然而,颜色在那里。