这里是初学者问题,我会在这里发布所有代码,但我相信语法是不同的,因为我使用 codeHS 来学习 Javascript。
如果我使用 for 循环制作圆圈,例如
for (var i = 0; i < NUM_CIRCLES; i++) {
var circle = new Circle(RADIUS);
var x = Randomizer.nextInt(RADIUS, getWidth() - RADIUS);
var y = Randomizer.nextInt(RADIUS, getHeight() - RADIUS);
circle.setPosition(x, y);
circle.setColor(Randomizer.nextColor());
add(circle);
}
如果我以后想更改其中一个圆圈的位置,我该怎么做?这些圆圈都是用 var 圆圈制作的,所以如果使用 circle.setPosition(x,y)
我如何告诉它要修改哪个圆?或者我是否必须为每个圆圈创建一个变量,以便可以修改它们的位置。
最佳答案
记录圆形对象,您可以通过数组中的位置或添加到对象的标识符来访问它们
var circleAggregator = [];
for (var i = 0; i < NUM_CIRCLES; i++) {
var circle = new Circle(RADIUS);
circleAggregator.push(circle); // index used as identifier
// you can add another identifier by updating constructor
var x = Randomizer.nextInt(RADIUS, getWidth() - RADIUS);
var y = Randomizer.nextInt(RADIUS, getHeight() - RADIUS);
circle.setPosition(x, y);
circle.setColor(Randomizer.nextColor());
add(circle);
}
...稍后当您想要访问对象时,通过它的标识符找到它,在本例中是索引
var selectedCircle = circleAggregator[idx];
或者使用更新方法
updateCirclePosition(circleAggregator[idx]);
关于javascript - 如何更改 for 循环中制作的圆圈的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37200186/