因此,我一直在观看编码培训,学习使用javascript进行编码,我试图复制他的代码,但无法正常工作。我正在用括号。这是情节:
https://www.youtube.com/watch?v=fBqaA7zRO58&t=0s&list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA&index=26
let bubbles = []
function setup() {
createCanvas(600,400)
for (let i = 0; i < 3; i++) {
let x = 10 + 30 * i
bubbles[i] = new Bubble(x, 200, 40);
}
}
function draw() {
background(0);
for(let i = 0; i < bubbles.lenght; i++) {
bubbles[i].move;
bubbles[i].show;
}
}
class Bubble {
constructor(x,y,r) {
this.x=x;
this.y=y;
this.r=r;
}
move() {
this.x = this.x + random(-5,5);
this.y = this.y + random(-5,5);
}
show() {
stroke(255);
strokeWeight(4);
noFill();
ellipse(this.x, this.y, this.r * 2);
}
}
答案 0 :(得分:0)
请养成检查developer tools和debugging代码的习惯。
例如,我将从打印您正在使用的变量的值开始。像这样:
console.log(bubbles.lenght);
for(let i = 0; i < bubbles.lenght; i++) {
您会看到这将打印出undefined
,这会给您一个提示:您拼写了length
错了!
解决该问题后,您还有其他问题。采取这些行:
bubbles[i].move;
bubbles[i].show;
这不是调用函数的方式。您需要在函数名称后加上()
括号:
bubbles[i].move();
bubbles[i].show();
退后一步,您实际上不应该尝试复制这样的代码。而是尝试从一个简单的示例开始,然后尝试work forward in small steps。然后,如果遇到错误,您将确切知道代码的哪一部分是问题所在。