Hi,
Ich schreibe gerade an einem Game wo sich der Protagonist "teleportieren" kann in die aktuelle direction.
Ein normaler Sprung bewegt den Helden 64px in die aktuelle Richtung.
Jeder Sprung wird vorher geprüft, wenn in der 64px Reichweite ein Objekt auftaucht, so wird der Protagonist
vor das Objekt teleportiert. DIes prüfe ich mit dem Collisionsrechteckt, danach zieh ich die X/Y Werte vom kollidiertem Objekt dem Protagonisten
hinzu bzw. ab, sodass er vor dem Objekt landet, anstatt dahinter, oder dadrin...
Dies klappt auch, aber das Problem ist das die Collisionslinie die ID des nächsten Objekts am anderen Ende ses Rechtecks ausgibt.
Bedeutet: Wenn mehrere Objekte (Wand) hintereinander stehen und die Collisionslinie so fällt (der Protagonist recht nah ist), dass die ID
des hinteren Objekts ausgegeben wird, so wird der Protagonist nicht zum ersten Objekt der Wand teleportiert sondern IN das erste Objekt rein, VOR das zweite Objekt ! Er soll aber, egal wie viele Objekte vor ihm sind bzw. wie nah er ist IMMER VOR das ERSTE Objekt springen.
Die theoretische Sprungreichweite, soll eben nicht die praktische sein.
Eine kleine Veranschaulichung {O ist der Protagonist, X ist ein Objekt, ---> ist das Collisionsrechteck bzw. die theoretische Sprungreichweite)
O----X--> (Protagonist kann nicht über Objekt X springen) also: OX
O--XX-> daraus wird leider: XOX, anstatt OXX
ich bräuchte also eine Funktion, die das ERSTE Objekt ausgibt, was von der Collisionslinie getroffen wird
und zwar nur das ERSTE!
Ich hoffe ich hab mich verständlich ausgedrückt
MFG und Danke für jegliche Antwort und Mühe
Ich schreibe gerade an einem Game wo sich der Protagonist "teleportieren" kann in die aktuelle direction.
Ein normaler Sprung bewegt den Helden 64px in die aktuelle Richtung.
Jeder Sprung wird vorher geprüft, wenn in der 64px Reichweite ein Objekt auftaucht, so wird der Protagonist
vor das Objekt teleportiert. DIes prüfe ich mit dem Collisionsrechteckt, danach zieh ich die X/Y Werte vom kollidiertem Objekt dem Protagonisten
hinzu bzw. ab, sodass er vor dem Objekt landet, anstatt dahinter, oder dadrin...
Dies klappt auch, aber das Problem ist das die Collisionslinie die ID des nächsten Objekts am anderen Ende ses Rechtecks ausgibt.
Bedeutet: Wenn mehrere Objekte (Wand) hintereinander stehen und die Collisionslinie so fällt (der Protagonist recht nah ist), dass die ID
des hinteren Objekts ausgegeben wird, so wird der Protagonist nicht zum ersten Objekt der Wand teleportiert sondern IN das erste Objekt rein, VOR das zweite Objekt ! Er soll aber, egal wie viele Objekte vor ihm sind bzw. wie nah er ist IMMER VOR das ERSTE Objekt springen.
Die theoretische Sprungreichweite, soll eben nicht die praktische sein.
Eine kleine Veranschaulichung {O ist der Protagonist, X ist ein Objekt, ---> ist das Collisionsrechteck bzw. die theoretische Sprungreichweite)
O----X--> (Protagonist kann nicht über Objekt X springen) also: OX
O--XX-> daraus wird leider: XOX, anstatt OXX
ich bräuchte also eine Funktion, die das ERSTE Objekt ausgibt, was von der Collisionslinie getroffen wird

Ich hoffe ich hab mich verständlich ausgedrückt


Wie viele von euch wissen, dass Rot und Grün Gelb ergibt?