0

今日、Processing でプログラミングを開始し、10 個のランダムな四角形を作成する小さなプログラムを作成しました。今では、マウスが上にあるときに四角形を非表示にしたいのですが、実際のコードは機能していません。

私はいくつかのヒントを感謝します...

import java.awt.Rectangle; Rectangle rect[] = new Rectangle[10]; int xpos[] = new int[10]; int ypos[] = new int[10]; int size = 25; boolean visible[] = new boolean[10]; void setup() { size(640,480); frameRate(60); smooth(); background(0); stroke(255); fill(255); textAlign(CENTER); textSize(200); text("Catch", width/2, 280); textSize(100); text("them", width/2, 380); // 10 Random positions for the rectangles for (int i=0; i < 10; i++) { xpos[i] = int(random (615)); ypos[i] = int(random (455)); visible[i] = true; } for (int i=0; i < 10; i++) { rect[i] = new Rectangle(xpos[i],ypos[i],size,size); } } void draw() { for (int i=0; i < 10; i++) { if (visible[i] == true){ fill(255,0,0); rect(rect[i].x,rect[i].y,rect[i].width,rect[i].height);} else if (rect[i].contains(mouseX,mouseY)){ visible[i] = false; } }}

4

1 に答える 1

0

なぜelse ifですか?それが書かれている方法は、マウスが四角形の上にあるかどうかを確認するだけですvisible[i] == false。それらはすべて表示されるため、実行されることはありません。

background(0);また、効果を確認するには、draw メソッドの先頭で呼び出す必要があります。そうしないと、画面をクリアして結果を確認することはできません。

また、インデントと中かっこ {} をクリーンアップして、一貫した方法でコードをフォーマットしていることを確認することも検討する必要があります。その方が読みやすいでしょう。

于 2013-03-30T18:53:49.903 に答える