是否可以在其中使用i
for 循环 ( for(i=0; i<3; i++)
)的变量Kinetic.Shape
来设置自定义中的 y 值drawFunc();
我的用于动态形状创建的 for 循环代码如下所示:
var layer = new Kinetic.Layer();
for (i = 0; i < 3; i++){
layer.add(new Kinetic.Shape({
x: 0,
y: 0,
width: 400,
height: 400,
drawFunc: function(canvas){
console.log(i); //THIS LOG ALWAYS OUTPUTS THE MAX i-VALUE (here 3)
var ctx = canvas.getContext();
ctx.beginPath();
ctx.fillStyle = 'black';
ctx.fillRect(10, i*30+2, 200, 30);
ctx.closePath();
ctx.fill();
}
}));
}
stage.add(layer);
如果我i
在自定义中记录 - 值,drawFunc();
结果总是3
而不是0, 1, 2
,因此ctx.fillRect
将所有三个形状都绘制在y = 92
。
这是我的代码与解释行为的小提琴。
我错过了一些明显的东西吗?任何帮助是极大的赞赏。