1
オブジェクトの配列を使用してこのp5.jsコードを作成しています。マウスを押すたびにParticle()コンストラクタ関数配列pts []に格納します。しかし、マウスを押すと、コードは何とかforループに入りません。私は配列の長さを初期化しようとしましたが、プログラムが止まってしまい、強制終了しなければなりません...誰もこの状況を助けることができますか?どうもありがとう!オブジェクトの空の配列を宣言するときにコンストラクタを使用して新しいオブジェクトを作成できません
var pts = [];
var onPressed;
//pts.length=2;
function setup() {
createCanvas(720, 720);
smooth();
frameRate(30);
colorMode(HSB);
rectMode(CENTER);
background(255);
}
function draw() {
//draw new particle when pressed
if (onPressed) {
println("checked press");
for (var i=0;i<=pts.length;i++) {
println("entered for loop");
var newP = new Particle(mouseX, mouseY, i+pts.length, i+pts.length);
//println("newP");
pts.push(newP);
}
}
}
function mousePressed() {
onPressed = true;
println("presses");
}
function mouseReleased() {
onPressed = false;
}
function Particle(x, y, xOffset, yOffset){
println("called Particle");
this.x=x;
this.y=y;
this.xOffset=xOffset;
this.yOffset=yOffset;
}
'draw()'のコードは、すでにリストに入っている各パーティクルに新しいパーティクルを追加するように見えます。粒子が0個の場合、ゼロが追加されます。 – Pointy