//I will make a program that generates a square in the center of
//the screen if my mouse is located on the top half of the display
//and an ellipse if my mouse is located on the bottom half of the
//screen
//Global variables
int mouseposy;
float rect;
float ellipse;
//Setup
void setup() {
size(600,600);
mouseposy = mouseY;
}
//Draw
void draw() {
background(0);
}
if {
(mouseposy > 300);
fill(mouseX,0,mouseY);
rect(300,300,50,50);
} else {
(mouseposy < 300);
fill(mouseX,0,mouseY);
ellipse(300,300,50,50);
}
無論如何這應該工作,正確嗎?當我在顯示座標中超過300像素時,這應該給我一個顯示屏中間的矩形,而當我低於300像素時,這個矩形會給我一個橢圓。我是否在錯誤的章節中寫了if語句?當我按下運行按鈕時,它只會突出顯示if語句,而不會顯示其他內容。我沒有收到任何錯誤消息,只是突出顯示。有誰知道我在這裏做錯了嗎?處理布爾邏輯,沒有發現錯誤,但不會運行
///編輯的代碼///
//Global variables
int mouseposy;
float rect;
float ellipse;
//Setup
void setup() {
size(600,600);
mouseposy = mouseY;
}
//Draw
void draw() {
mouseposy = mouseY;
background(0);
if (mouseposy >= 300){
fill(mouseX,0,mouseY);
rect(300,300,50,50);
} else if(mouseposy =< 300) {
fill(mouseX,0,mouseY);
ellipse(300,300,50,50);
}
}
我猜我仍然有一個屠宰或代碼的另一種元素,但如果任何人都可以看到什麼是錯還是與此代碼我將不勝感激的幫幫我。現在它給了我'意外的令牌:300'的錯誤信息。
選擇哪種方法有什麼好處?另外,我在底部還有一個聲明,不是嗎?對不起,但仍然在這裏理解概念。 – 2014-09-02 18:58:32
另外,我更新了mouseposY變量,並在那些if else語句中更改了操作符類型。不知何故,它現在不想識別數字300。我將發佈並編輯上面的代碼。 – 2014-09-02 19:01:03
運算符是<='不是'= <'。你不需要'<=',因爲你已經在第一個例子中覆蓋了它。你只需要<。 – Jack 2014-09-02 19:36:45