Eat&Run Game --> Wie kann ich machen das ein Objekt zuerst eine random Position bekommt und dann wenn es gefressen wird gelöscht und neu platziert?
Hallo Zusammen,
Wie schaffe ich es, das ein Objekt (Objekt2 Banane) einmal random Koordinaten bekommt, ich das Objekt1 (Affe) mit Tasten zu ihr bewegen kann und das die Banane dann unsichtbar wird und eine neue random Position bekommt?
Funktioniert mit diesem Code noch nicht ganz, wäre sehr froh um Hilfe. Danke um eure Bemühungen
(Bananen Counter könnte man auch noch hinzufügen)
Freundliche Grüsse
Beim 2Bild habe ich schon etwas korrigiert ;) Jetzt ist das Hauptproblem das die Banane ständig position wechselt...
2 Antworten
Für den Startzustand des Spiels solltest du die Zufallskoordinaten in setup / außerhalb von draw berechnen. Die Variablen für die Koordinaten müssen global sein.
int xb, yb;
void setup() {
// set coordinates ...
}
In draw wiederum müsstest du jedesmal prüfen, ob Affe und Banane miteinander kollidieren (sich beide Rechtecke also schneiden). Erst wenn dem der Fall ist, setzt du die Variablen neu.
if (/* collision ... */) {
// reset xb, yb ...
}
Bedenke übrigens, dass die Koordinaten nach Standardverhalten auf der linken oberen Ecke eines Bilds liegen. Sollte also eine der Zufallskoordinaten den Wert 699 ergeben, würde das Bild bereits über die Zeichenfläche hinausgehen.
Für die Kollisionsprüfung würde ich eine extra Funktion schreiben, die als Ergebnis einen boolschen Wert zurückgibt. Als Hilfe für die Logikimplementation empfehle ich das Anfertigen von Skizzen. Im Grunde brauchst du die Koordinaten und Dimensionen beider Bilder. Diese Werte müssen miteinander verglichen werden.
Zum einen die x und y pos auf die Zufallswerte setzen.
Zum anderen prüfen ob sich die Objekte überschneiden und dann die Werte neu berechnen und setzen.
Fals sie sich immer noch überlappen weiter neu berechnen
Danke Dir für dein schnelle Antwort.
Aber weisst du es sind zwei Images, das heisst ich wollte es so machen das wenn die Differenz der beiden Objekte <50 ist dann wird die Banane schon resetet (muss nicht 100%genau sein) Funktioniert jetzt :)
Weisst du wie ich einen Bananen-Counter oben links als Zahl einfügen könnte?
Freundliche Grüsse und Danke