isAtEdge?

2 Antworten

Mit jedem Schritt, den der Actor vorangeht, solltest du zunächst einmal prüfen, ob seine aktuelle Position den Rand schneidet. Beim linken Rand bspw. wäre die x-Position des Actors 0.

Sollte dem so sein, kannst du die Richtung negieren. Das heißt, wenn er bisher immer einen Schritt nach rechts gelaufen ist, sollte er nach Aufprall mit dem rechten Rand stets einen Minusschritt nach rechts (= Schritte nach links) zurücklegen.

Die Position des Actors bekommst du mit den Methoden getX und getY. Für alles Weitere reichen Kenntnisse über Operatoren und Verzweigungen. Ich denke, dass du das soweit alleine schaffst. Schau andernfalls nochmal in deinen Unterlagen oder schlage hier nach.

Wenn du zudem die Dokumentation nutzt, kannst du dir einige Punkte noch vereinfachen.

Wenn der Actor am Rand ist drehe 180 Grad