Position (Platz) herausfinden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Position (Platz) herausfinden

    Wie könnte ich es anstellen, das mir die aktuelle position zu errechnen, also bei einen Rennen mit 8 teilnehmern, das es da die 8 zeigt wenn ich letzter bin und wenn ich einnen überhol immer um eine vermindert... wäre cool wenn mir jemand erklären könnte wie ich das anstellen soll ... also einen denkanschub gibt :)

    mfg trgirl
    danke im vorraus :)
  • Ich nehme an Du willst eine Kreisstrecke machen, demnach musst Du auf jeden Fall Checkpoints einbringen und eine Variable, die nennste etwa mal "counter". Immer wenn Du einen dieser Checkpoints passierst, wird die Variable um 1 angehoben und der Wagen mit dem höchsten Wert ist somit der erste. Natürlich kommt dazu, dass Du auch zwischen den Checkpoints Vergleiche anstellen willst. Am besten misst Du also je nach Wert der Variable "counter" die Entfernung zum nächsten Checkpoint (gibt ja eine funktion dafür). Und der, der den größten Wert für "counter" und die kleinste Entfernung zum nächsten Checkpoint aufweist ist somit erster. Auf Wunsch kann ich dieses System auch näher erläutern (mit etwas Code). Aber ich denke das Prinzip ist dir klar?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von F4LL0UT ()

  • Hi
    Ich finde F4ll0ut's idee cool.
    Aber du musst ja gar net jeden millimeter messen,
    du kannst auch 4 versciedene checkpoint objekte erstellen, und bei den einen wird gemessen wer weiter unten ist (also wennn man runter fährt) das kannn man dann ja mit einer art y erstellen...zum Beispiel kann man ja eine Kollision abfragen mit den checkpoint (wenn man drunter her fährt ist es ja auch eine) und dann eine variable auf 1 zumbeispiel umstellen, und im step event wird dann wenn die variable auf 1 ist abgefragt wie hoch y ist, in einem setting(oder trigger glaub ich heißt das) kann man zum guten schluss abfragen von wem y am größen ist,
    und das dann für alle 4 richtungen.
    Hoffe das dass da oben verständlich ist.

    €d!t:
    Mann kann doch auch das gleiche abfragen in welche richtung man fährt oder nicht? aber dann kann man nur kreiße bauen das doch auch wieder dumm ist, da sind dann checkpoints eigentlich ne gute lösung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Metalknight ()

  • ähm... checkpoints werden in allen Spielen, selbst modernsten rennspielen noch verwendet, denn man muss sich ja nach irgendwas richten. Aber ich habe doch gesagt: Bei geraden und längeren Kurven kannste Checkpoints weglassen, es ist nur wichtig, dass das programm einigermaßen versteht wo's lang geht. Wie gesagt: Zwischen zwei Checkpoints kannste einfach die Distanz zum nächsten messen.

    Eine Skizze für eine Strecke
    /o--------------o
    o \
    | o------o
    | /
    o-----o/

    Die Kreise sind Checkpoints. Dazwischen misst Du einfach die Distanz zum nächsten, und der der näher dran ist, ist logischerweise auf dem ersten Platz. Ist dir das wirklich zu viel an Checkpoints? Tut mir leid, aber das ist die "englischste" Art die ich kenne.

    €dit:
    Naaah - schon wieder einer dazwischengekommen ^^ jedenfalls gibt's ne Funktion, die heißt glaube ich point_disctance() oder so ähnlich, mit der kannst Du jeweils die Distanz messen. Im Gegensatz zum Vergleich von x,y Koordinaten ist das Messen der Distanz universell und klappt zwischen allen Checkpoints genauso gut.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von F4LL0UT ()

  • Ich denke auch, Checkpoints sind der richtige Weg. Und F4LLOUTs Erklärungen klingen für mich schlüssig.

    Du kannst Dir auch mal GeneRally anschauen. Ist ein Freeware-2D-Rennspiel mit Leveleditor. Im Leveleditor wird dann schnell klar, daß die Checkpoints im Prinzip zwei Punkte (links und rechts der Spur) mit einer Verbindungslinie sind und auch genutzt werden, um zu überprüfen, ob der Wagen in der Spur bleibt.
    Die Autos müssen also immer durch die "Tore" der zwei Checkpoints durchfahren, natürlich auch in der richtigen Reihenfolge der Checkpoints, um zu garantieren, daß keiner eine "Abkürzung" fährt.

    Viel Erfolg!
  • Ähm, freut mich, dass mein Vorschlag jetzt doch in Empfang genommen wird ^^
    Und äh... die Skizze sah im Editor anders aus. Diese "Rennstrecke" da oben erinnert jetzt zwar eher an nen Affen mit Dünnpfiff als an einen Checkpointentwurf, aber ich glaube aus dem Text ist eh mittlerweile allen klar geworden wie ich das meine, oder?