2013-03-30 346 views
0

我處理今天開始編程,寫,創建10個隨機矩形 現在我喜歡做當鼠標移動到他們,但我的實際代碼是不能工作處理代碼不起作用

他們消失有點PROGRAMM我會apprechiate一些的竅門......

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; } }}

回答

0

爲什麼else if?它的寫法,只會檢查鼠標是否超過矩形,如果visible[i] == false。它們都是可見的,所以它永遠不會被執行。

同樣爲了看到效果,您必須在繪圖方法的頂部調用background(0);。否則,你永遠不會清除屏幕來查看結果。

您還應該考慮清理縮進和大括號{},以確保以一致的方式格式化代碼。這會讓閱讀更容易。

+0

感謝很多人^^我只添加了背景(0)線,它完美的工作 – user2227131