Canvas 对于循环赢得';在Adobe Animate CC中创建多个矩形是不可行的
我正在使用Adobe Animate CC(以前的Flash Professional CC),我正在尝试调整以下代码片段,以便它创建多个矩形Canvas 对于循环赢得';在Adobe Animate CC中创建多个矩形是不可行的,canvas,html5-canvas,jquery-animate,adobe,easeljs,Canvas,Html5 Canvas,Jquery Animate,Adobe,Easeljs,我正在使用Adobe Animate CC(以前的Flash Professional CC),我正在尝试调整以下代码片段,以便它创建多个矩形 var shape = new createjs.Shape(new createjs.Graphics().beginFill("#ff0000").drawRect(5,5,100,100)); this.addChild(shape); 然后我对它进行了调整,并将其放入一个for循环中,我认为该循环可以用于复制对象。下面的代码只创建一个矩形 fo
var shape = new createjs.Shape(new createjs.Graphics().beginFill("#ff0000").drawRect(5,5,100,100));
this.addChild(shape);
然后我对它进行了调整,并将其放入一个for循环中,我认为该循环可以用于复制对象。下面的代码只创建一个矩形
for (i = 0; i < 10; i++) {
var i = new createjs.Shape(new createjs.Graphics().beginFill("#ff0000").drawRect(5,5,30,30));
this.addChild(i);
// Move object so that they don't lie on top of each other
this.x += 50;
}
(i=0;i<10;i++)的{
var i=new createjs.Shape(new createjs.Graphics().beginll(#ff0000”).drawRect(5,5,30,30));
本.addChild(i);
//移动对象,使它们不会相互重叠
这个.x+=50;
}
您的代码存在一些问题
我假设您正在扩展容器
,以便可以向其中添加子项。这就是为什么要使用This.addChild()
而不是类似于stage.addChild()的东西,对吗
创建形状时,您正在覆盖迭代器变量i
。我建议使用不同的名称,如square
或child
您正在增加this
的x
位置,因此它将在同一位置添加所有方块,然后只需将容器移动50px。所有的孩子仍然会在一起。您应该将其更改为child.x
一旦这样做了,它仍然不起作用,因为您正在将每个形状从0
递增到50
——因此它们仍然彼此重叠。将其更改为类似于child.x=i*50
下面是一段代码片段
for (i = 0; i < 10; i++) {
var child = new createjs.Shape(new createjs.Graphics().beginFill("#ff0000").drawRect(5,5,30,30));
this.addChild(child);
// Move object so that they don't lie on top of each other
child.x = i * 50;
}
(i=0;i<10;i++)的{
var child=new createjs.Shape(new createjs.Graphics().beginll(“#ff0000”).drawRect(5,5,30,30));
这个.addChild(child);
//移动对象,使它们不会相互重叠
child.x=i*50;
}
这里有一把快速小提琴:
干杯。您的代码有一些问题
我假设您正在扩展容器
,以便可以向其中添加子项。这就是为什么要使用This.addChild()
而不是类似于stage.addChild()的东西,对吗
创建形状时,您正在覆盖迭代器变量i
。我建议使用不同的名称,如square
或child
您正在增加this
的x
位置,因此它将在同一位置添加所有方块,然后只需将容器移动50px。所有的孩子仍然会在一起。您应该将其更改为child.x
一旦这样做了,它仍然不起作用,因为您正在将每个形状从0
递增到50
——因此它们仍然彼此重叠。将其更改为类似于child.x=i*50
下面是一段代码片段
for (i = 0; i < 10; i++) {
var child = new createjs.Shape(new createjs.Graphics().beginFill("#ff0000").drawRect(5,5,30,30));
this.addChild(child);
// Move object so that they don't lie on top of each other
child.x = i * 50;
}
(i=0;i<10;i++)的{
var child=new createjs.Shape(new createjs.Graphics().beginll(“#ff0000”).drawRect(5,5,30,30));
这个.addChild(child);
//移动对象,使它们不会相互重叠
child.x=i*50;
}
这里有一把快速小提琴:
干杯。谢谢兰尼。是的,那就是我想要的。谢谢你花时间给我解释。谢谢兰尼。是的,那就是我想要的。我感谢你花时间给我解释清楚。