我遇到了p5 js的问题
我试图添加两个围绕圆周旋转的椭圆对象。
下面的代码表示对象的构造函数:
function Obj(){
this.ang = TWO_PI;
this.x = w/2 + cos(ang)*r;
this.y = h/2 + sin(ang)*r;
this.fil = 255;
this.size = 28;
this.show = function(){
noStroke();
fill(this.fil);
ellipse(this.x,this.y,this.size,this.size);
}
this.update = function(){
this.ang+=.02;
}
}
这是主要档案:
let w = innerWidth;
let h = innerHeight;
let xd = [];
let r = 200;
function setup() {
createCanvas(w, h);
for (let i = 0; i < 2; i++)
xd[i] = new Obj();
}
function draw(){
background(0,70,80);
noFill();
strokeWeight(7);
stroke(255);
ellipse(w/2, h/2, r*2, r*2);
xd[0].update();
xd[0].show();
}
问题在于它表示ang is not defined
即使我确实用this.ang = TWO_PI;
清楚地定义了它。如果我在主文件中声明它并在setup()
我说ang = TWO_PI;
,则对象保持不变。有人可以帮忙吗?
谢谢。
答案 0 :(得分:1)
这段代码中构造函数的问题,应该是这样的:
this.x = w/2 + cos(this.ang)*r;
this.y = h/2 + sin(this.ang)*r;
因为您正在使用构造函数本身的属性