2016-04-25 7 views
-3

Mein Resonanzboden ist fast fertig und ich wollte ein Forloop hinzufügen, um Quadrate auf dem Bildschirm zu machen. aber der Code, den ich benutze, erlaubt mir nicht, mit dem Bildschirm zu interagieren, und ich wollte warum wissen. Dank heren mein CodeMeine For-Schleife wird nicht laufen mein Programm

class sound { 


float x; 
float y; 

public sound(float x, float y) { 
    this.x = x; 
    this.y = y; 
} 
void run() { 
    draw(); 
    mousePressed(); 
} 

void draw() { 
    for (int y = 100; y < width;) { 
    for (int x = 100; x < width;) { 
    ellipse(x, y, 99, 99); 
    } 
    } 
} 
public void mousePressed() { 
    if (mouseX > 1 && mouseX < 99 && mouseY > 1 && mouseY < 99) { 
    s2.play(); 
    image(p7, 1, 1); 
    } else { 
    s2.pause(); 
    s2.rewind(); 
    } 

    if (mouseX > 100 && mouseX < 199 && mouseY > 1 && mouseY < 99) { 
    player.play(); 
    image(p9, 100, 1); 
    } else { 
    player.pause(); 
    player.rewind(); 
    } 
    if (mouseX > 200 && mouseX < 300 && mouseY > 1 && mouseY < 99) { 
    s7.play(); 
    image(p6, 200, 1); 
    } else { 
    s7.pause(); 
    s7.rewind(); 
    } 

    if (mouseX > 1 && mouseX < 99 && mouseY > 100 && mouseY < 199) { 
    s8.play(); 
    image(p8, 1, 100); 
    } else { 
    s8.pause(); 
    s8.rewind(); 
    } 

    if (mouseX > 100 && mouseX < 199 && mouseY > 100 && mouseY < 199) { 
    s3.play(); 
    image(p2, 100, 100); 
    } else { 
    s3.pause(); 
    s3.rewind(); 
    } 

    if (mouseX > 200 && mouseX < 300 && mouseY > 100 && mouseY < 199) { 
    s6.play(); 
    image(p5, 200, 100); 
    } else { 
    s6.pause(); 
    s6.rewind(); 
    } 

    if (mouseX > 1 && mouseX < 99 && mouseY > 200 && mouseY < 299) { 
    s1.play(); 
    image(p1, 1, 202); 
    } else { 
    s1.pause(); 
    s1.rewind(); 
    } 
    if (mouseX > 100 && mouseX < 199 && mouseY > 200 & mouseY < 299) { 
    s4.play(); 
    image(p3, 100, 200); 
    } else { 
    s4.pause(); 
    s4.rewind(); 
    } 
    if (mouseX > 200 && mouseX < 299 && mouseY > 200 && mouseY < 299) { 
    s5.play(); 
    image(p4, 200, 200); 
    } else { 
    s5.pause(); 
    s5.rewind(); 
    } 

} 

} 
+0

Bitte wählen Sie bitte ein [MCVE] anstelle Ihrer vollständigen Skizze bitte beginnen veröffentlichen. ** Bitte ** versuchen Sie, Ihr Problem ein wenig vor dem Posten einzuschränken. Sie werden viel mehr Glück (und weniger Downvotes) auf diese Weise haben. –

Antwort

1

Sie Inkrementieren nicht x und y, so dass Sie unendliche Schleife haben:

void draw() { 
    for(int y = 100; y<width;y++){ // here y++ 
    for(int x = 100; x<width;x++){ // here x++ 
    ellipse(x,y,99,99); 
    }} 
    } 
+1

danke, dass du mir das gezeigt hast. –

+0

Wie mache ich es endlich? Ich dachte, es wird nicht aufhören, wenn es das Ende der Breite des Bildschirms erreicht –

+0

Ich bin mir nicht sicher, ob ich verstehe. for-Schleifen durchlaufen normalerweise einen Bereich von Werten. In deinem Cast ist das [100, Breite) für y und [100, Breite) für x. – marcinj

Verwandte Themen