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?它的编写方式,它只会检查鼠标是否在 rect ifvisible[i] == false上。它们都是可见的,因此它永远不会被执行。

同样要查看效果,您必须background(0);在 draw 方法的顶部调用。否则,您永远不会清除屏幕以查看结果。

您还应该考虑清理缩进和大括号 {} 以确保您以一致的方式格式化代码。这将使它更容易阅读。

于 2013-03-30T18:53:49.903 回答