我正在尝试编写一个代码,该代码可以在每个方向上从左向右移动一个正方形,并且它的颜色必须改变。
它必须从左边缘开始,一旦到达右边缘,然后返回到右侧,而不改变 Y 位置。
我做了一个代码,但它不起作用。
color blau = #2E3BFF; //Color blau
color vermell = #FF2E2E; //Color vermell
float position_X; //Variable per la posició X
float position_Y; // Variable per la posició Y
float size=50; //Mida del costat del quadrat
boolean move;
void setup () {
// Preparem el llenç. La mida és de 1000 x 500 píxels
size (1000, 500);
frameRate(60); //Velocitat que s'executa el draw()
background(0); //Color fons negre
position_X= 0; //Posició inicial del quadrat al costat esquerre del llenç
position_Y= 200; //Alçada inicial del quadrat en el llenç
move=true;
}
void draw () {
background(0); //color del fons
square (position_X, position_Y, size);
while (move==true){
if (position_X==width){
move=false;}
fill (vermell); //Color del quadrat
position_X=position_X+5; //Es mou de dreta a esquerra
}
while (move==false){
if (position_X==0){
move=true;
}
fill (blau); //Color del quadrat
position_X=position_X-10;} //Es mou de dreta a esquerra
}
while 循环必须是 if。绘制函数是循环。现在,您正在将 position_x 一直移动到末尾并返回,然后再重新打印正方形。
if (move==true){
if (position_X==width){
move=false;}
fill (vermell); //Color del quadrat
position_X=position_X+5; //Es mou de dreta a esquerra
}
if (move==false){
if (position_X==0){
move=true;
}
fill (blau); //Color del quadrat
position_X=position_X-10;} //Es mou de dreta a esquerra
}