proceeingでゲームを作っているのですが、円と円が触れるとスコアが増え、そのスコアが表示されるようにしたいのですが、当たり判定にdist関数を使ったせいか円と円が触れた時だけでなく、円が下に落ちてしまったときにもスコアが増えてしまいます。何か改善点があれば教えてほしいです。
コード
int y = 300;
int ex, espeed, ey;
int score;
void initPos() {
ex = int(random(width));
espeed = int(random(1, 6));
ey = -10;
}
void setup() {
size(400, 400);
noStroke();
initPos();
score = 0;
}
void draw() {
background(255);
scoreDisp();
fill(255, 10, 255);
ellipse(mouseX, y, 70, 70);
if (dist(mouseX, y, ex, ey)<45 || ey-20 > height) {
score += 10;
initPos();
}
fill(10, 255, 10);
ellipse(ex, ey, 20, 20);
ey += espeed;
}
void scoreDisp(){
textSize(24);
fill(0);
text("score:"+score,10,25);
}
回答2件
あなたの回答
tips
プレビュー