Brauche Hilfe bei den Wegen des Spielers!

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

  • Brauche Hilfe bei den Wegen des Spielers!

    Hallo liebe GM freunde!

    Ich war ziemlich lange abwesend da ich für das alles vorbereiten musste! Jetzt habe ich wieder zeit und setzte mich wieder an mein Spiel!
    Und da gibt es schon das erste problem! Mein Spieler wird mit der maus gesteuert. Sprich, ich klicke irgendwo auf eine stelle des bildschirms und er geht dahin! Das Spiel läuft in einem Haus ab in dem es viele zimmer gibt! Das problem ist, das wenn ich auf eine stelle irgendwo klicke, geht er auch dahin aber ich muss extra in die richtung klicken wo er hin soll. Wenn er aber auf dem zweiten Stockwerk ist und ich will das er runter ins wohnzimmer geht dann muss ich mit den mausklicks ihn erst dahin führen, möchte aber das so hin kriegen das ich gleich auf das wohnzimmer klicke und er selbst weis wie er dahin kommt. Kennt sich jemand damit aus? Ich mus also wege definieren, denk ich mal.

    Hoffe um Rat!
  • ist dein Spiel in einen Grid-System aufgebaut? wenn ja, dann gehts relativ einfach. Wenn nein, dann müssten wir uns noch was überlegen. Prinzipiell gibt es da gewisse Algorithmen zum Wegfinden. Aber wie gesagt. Grid? Ja oder nein.

    -
    Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Also falls das Spiel auf einen Raster basiert, dann könntest du folgende Funktionen verwenden (Ich hoffe, diese gibts noch in GM-Studio)
    Spoiler anzeigen
    ​<>Die Funktionen für die Gitter-basierte Näherung sind folgende:mp_grid_create(left,top,hcells,vcells,cellwidth,cellheight) Diese Funktion erstellt das Gitter. Sie gibt einen Index zurück, der bei allen anderen Aufrufen verwendet werden muss. Du kannst mehrfache Gitter-Strukturen zur selben Zeit erstellen und verwalten. "left" und "top" geben die Position der linken oberen Ecke des Gitters an. "hcells" und "vcells" geben die Anzahl der horizontalen und vertikalen Zellen an. Schließlich geben "cellwidth" und "cellheight" die Größe der Zellen an.
    mp_grid_destroy(id) Zerstört das angegebene Gitter und gibt belegten Speicher frei. Vergiss nicht dies aufzurufen, sobald Du das Gitter nicht mehr benötigst.
    mp_grid_clear_all(id) Markiert alle Zellen des Gitters als frei.
    mp_grid_clear_cell(id,h,v) Markiert die angegebene Zelle . Zelle 0,0 ist die linke obere Zelle als frei.
    mp_grid_clear_rectangle(id,left,top,right,bottom) Markiert alle Zellen die das angegebene Rechteck schneiden (in Raumkoordinaten) als frei.
    mp_grid_add_cell(id,h,v) Markiert die angegebene Zelle als verboten. Zelle 0,0 ist die linke obere Zelle.
    mp_grid_add_rectangle(id,left,top,right,bottom) Markiert alle Zellen die das angegebene Rechteck schneiden als verboten.
    mp_grid_add_instances(id,obj,prec) Markiert alle Zellen die eine Instanz des angegebenen Objektes schneiden als verboten. Du kannst auch eine individuelle Instanz verwenden, indem du "obj" die id der Instanz zuweist. Ferner kannst du das Schlüsselwort "all" angeben, um alle Instanzen aller Objekte anzugeben. "prec" gibt an, ob präzise Kollisionsprüfung verwendet werden soll (funktioniert nur, wenn präzise Prüfung für das von der Instanz verwendete sprite aktiviert ist).
    mp_grid_path(id,path,xstart,ystart,xgoal,ygoal,allowdiag) Berechnet einen Pfad durch das Gitter. "path" muss einen existierenden Pfad angeben, der durch den Computerpfad ersetzt wird. "xstart" und "ystart" geben den Start und "xgoal" und "ygoal" das Ziel an. "allowdiag" gibt an, ob diagonale Bewegung zulässig ist statt nur horizontaler oder vertikaler. Die Funktion gibt wieder, ob sie erfolgreich einen Pfad gefunden hat. (Beachte, dass der Pfad unabhängig von der aktuellen Instanz ist; es ist ein Pfad durch das Gitter, nicht ein Pfad für eine besondere Instanz.)
    mp_grid_draw(id) Diese Funktion zeichnet das Gitter, wobei freie Zellen grün eingefärbt sind und verbotene werden rot gezeichnet. Diese Funktion ist sehr langsam und steht nur zur Fehlersuche zur Verfügung.



    -
    Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.