Entfernung zwischen zwei Punkten/Instanzen berechnen

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

  • Entfernung zwischen zwei Punkten/Instanzen berechnen

    Ich habe folgendes Problem für ein Gm-Spiel(wer hätte das gedacht...):
    Wenn die Figur rumläuft(was sie in verschieden Richtungen und Geschwindigkeiten tut) soll sie müder und stärker werden. Aber wenn ich[bis jetzt nur für Müdigkeit gemacht] diesen code einsetze:

    GML-Quellcode

    1. if y << yprevious
    2. global.muedigkeit -= (yprevious-y)* 0.1
    3. if y >> yprevious
    4. global.muedigkeit -= (y-yprevious)* 0.1
    5. if x << xprevious
    6. global.muedigkeit -= (xprevious-x)* 0.1
    7. if x >> xprevious
    8. global.muedigkeit -= (x-xprevious)* 0.1

    Dann bleibt global.muedigkeit bei 100! ( es soll sinken).
    Was ist da falsch/ Wie bekomme ich das richtig?

    Und: Wie kann ich das switchen? Ist zwar nicht so wichtig, aber wenn ich schon mal frage...

  • Den Abstand zwischen zwei Punkten kann man über diese Funktion ermitteln:
    point_distance(x1,y1,x2,y2);

    Dabei ist der Abstand immer positiv und auf direktem Weg.

    Warum benutzt du da immer zwei <</>>?
    Größer und kleiner ist jeweils > bzw. <. Das was du da verwendest ist die Bitweise Verschiebung nach links/rechts.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Erstmal danke!
    Und zweitens: Das lag an folgendem: Es gibt <=/>= und </>. Ich dachte </> würde gleich <=/>= sein und deshalb schrieb ich <</>> (größer größer), damit es nicht gleich größer/kleiner gleich ist. Jetzt fällt mir auf, dass das egal gewesen wär... Danke für die schnelle Lösung!

    €dit: Als ich gerade point_ bei dem code eingab, habe ich auch noch point_direction gefunden, was ein anderes bisher unbekanntes Problem von mir löste :top:!

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

  • Benutzer online 1

    1 Besucher