这里有初学者问题,我会在这里发布所有代码,但我相信语法不同,因为我使用codeHS来学习Javascript。
如果我使用for循环播放圈子,例如
npm-install: command := install
npm-install: arg := --no-shrinkwrap
npm-update: command := update
npm-update: arg :=--save-dev
npm-install npm-update:
....
$(NPM_BIN) $(command) $(arg) --loglevel=error --no-optional
....
如果我后来想改变其中一个圈子的位置我该怎么做?圆圈都是用var圆圈制作的,所以如果使用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);
}
我怎么告诉它要修改哪个圆圈?或者我是否必须为每个圆创建一个变量,以便可以修改它们的位置。
答案 0 :(得分:1)
保持圆形对象的计数,您可以通过数组中的位置或可添加到对象的标识符来访问它们
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]);