1
我在ArrayList/Particle系統上做了一個非常基礎的教程。我一直得到一個「構造函數是未定義的錯誤」,我不明白爲什麼。谷歌搜索帶來了很多更復雜的問題/答案。我錯過了什麼?去年這個變化了嗎?構造函數沒有定義[處理]
ArrayList<Particle> plist;
void setup(){
size(640, 360);
plist = new ArrayList<Particle>();
println(plist);
plist.add(new Particle());
}
void draw(){
background(255);
}
class Particle {
PVector location;
PVector velocity;
PVector acceleration;
float lifespan;
Particle(PVector l){
// For demonstration purposes we assign the Particle an initial velocity and constant acceleration.
acceleration = new PVector(0,0.05);
velocity = new PVector(random(-1,1),random(-2,0));
location = l.get();
lifespan = 255;
}
void run(){
update();
display();
}
void update(){
velocity.add(acceleration);
location.add(velocity);
lifespan -= 2.0;
}
void display(){
stroke(0, lifespan);
fill(175, lifespan);
ellipse(location.x, location.y,8,8);
}
boolean isDead(){
if(lifespan < 0.0){
return true;
}else{
return false;
}
}
}
啊,好的。構造函數和類對我來說都是新手,所以我就這樣做了。錯誤消失了。我會回讀構造函數。 –
@mishap_n說到參數,構造函數很像函數。如果您嘗試在不帶任何參數的情況下調用'ellipse()'函數,則會出現類似的錯誤。 –