2017-10-09 9 views
1
float speed = 1; 
void setup() { 
size(400, 300); 
} 

void draw() { 
background(255); 
move(); 
display(); 
} 

void move() { 
x = x + speed; 
if (x > 350) { 
speed = 0; 
} 
} 

void display(x,y) { 
fill(#FF2121); 
translate(x,y); 
ellipse(0, 0, 60, 60); 
rect(-10, 15, 20, 100); 
} 

unerwartetes Token: x auf "Leeranzeige (x, y)" Grundsätzlich ist dieses Programm bewegt sich die Ellipse und rect andere Seite des Fensters. Ist das der richtige Weg? oder gibt es einen anderen einfachen Weg.Verarbeitungsfehler mit diesem Code

Beispiel 0 = Ellipse [] = rect

Wechsel zu anderen Seite des Fensters (Geschwindigkeit 1) und, wenn es die Kante treffen, die beide sie stoppen.

Antwort

2

Parameter benötigen Typen, genau wie Variablen.

void display(float x, float y) { 

Beachten Sie auch, dass seit Ihrer display() Funktion 2 Parameter nimmt, es illegal ist es ohne Parameter aufzurufen, die ist, was Sie in Ihrer draw() Funktion zu tun.

Beachten Sie auch, dass Sie nie die x Variable definiert haben, das ist ein weiterer Fehler.

Bitte gewöhnen Sie sich an working in smaller chunks anstatt zu versuchen, Ihr ganzes Programm auf einmal zu schreiben. Sie haben hier einige Fehler, und es wird schwierig sein, einen Fehler zu beheben, ohne die anderen zu reparieren. Ich empfehle, mit etwas Einfachererem anzufangen und nur vorwärts zu gehen, wenn Sie etwas haben, das funktioniert.

+0

Ich habe das vor dem Posten hier, aber auf Zeichenfunktion, "display()" zeigt Fehler. –

+0

@DipakMukesh Die Funktion 'display (float x, float y)' benötigt zwei Parameter. Der Aufruf von 'display()' ohne Parameter ist ein Fehler. –

+0

Danke sortiert, wenn Sie einen Tipp geben können, wenn Blöcke die Kante treffen, wie kann ich es zurück zur Anfangsposition schicken? –