Fortbewegen wie in Rollercoaster Tycoon

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

  • Fortbewegen wie in Rollercoaster Tycoon

    Hi,

    Ich hab da mal ne Frage undzwar ist es möglich Objecte wie in dem Spiel Rollercoaster Tycoon fortzubewegen denn mir fällt überhaupt nicht ein wie ich das Problem lösen könnte :headtouch:
  • achso, aber die bewegen sich ja selbst fort und man muss sie nicht fortbewegen also per klick oder per tastatur.
    ja da machst am besten ein path aber wenn du so bahnen machen möchtest wird das noch ein Stückchen komplizierter.
    Gruß Gamer
  • achso, ja mit paths denk ich mal, wenn sie zufällige Wege laufen sollen, dann kann man mehrere Paths erstellen und mit choose wird dann ein zufälliges ausgewählt, denk mal dass das auch bei Paths geht, zumindest gehts so bei Sounds.
    Gruß Gamer
  • @SDX das würde zwar mein Vierecke zum ziel bringen aber nicht so wie ich das will denn dadurch würde mein Viereck ja einfach stumpf durch das Netz durchlaufen;) aber ich möchte ja das das Viereck das Ziel erreicht wie oben in der Abbildung
  • In nicht isometrischer Ansicht würd ichs mit lenghtdir_x/y machen, damit könnte man dann
    ermitteln, wieviele Kästchen in x und wieviele in y Richtung gelaufen werden müssen.
    Vielleicht kann man das ja in die Isometrische Ansicht übertragen.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Es gibt Path-Funktionen die auf Grids basieren, schau mal in die Hilfe.
    Ansonsten kannst du deinen Männchen fest vorgeschriebene Laufrichtungen geben und sie dann in das Grid setzen.

    direction=floor(direction/4)*4+45;
    Dann können sie nurnoch in 45° Winkeln laufen ;)

    Ein Grid hast du schon, dann pass sie daran an.

    Paths kannst du übrigens "Eckig" machen und somit die Pfade fest auf dem Grid laufen lassen. Du musst nur ne Formel finden, wie du stetig die Koordinaten an dein Grid anpasst.

    Das Problem, was ich bei dir sehe, ist, dass es nicht einfach nur 45° gedreht ist, sondern auch in der Höhe gestaucht.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • Also in normaler Ansicht:

    GML-Quellcode

    1. stephor=lenghtdir_x(point_distance(x,y,targetx,targety),point_direction(x,y,targetx,targety))/feldbreite;
    2. stepvert=lenghtdir_y(point_distance(x,y,targetx,targety),point_direction(x,y,targetx,targety))/feldbreite;

    und dann halt die entsprechenden Felder nach links/rechts und nach oben/unten

    Fürs isometrische: Lass dir was einfallen ;D
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Taz schrieb:

    Ich denke nicht das , dass mein Problem löst denn ich erstelle das "blaue Viereck" auf mausklick und da bringen Paths nicht viel.
    das stand nicht in deinem Beitrag, das musst du uns schon erklären, wir können ja nicht hellsehen. :D
    Gruß Gamer
  • da war doch mal sowas bnei pacman..

    das is doch genauso, nämlich es gibt wege, und die werden durchlaufen.

    ich habe dazu irgend ein code stück gepostet oder vll sogar ne datei? weiß ich nciht mehr.

    such mal danach, es ging um pacman und ist nicht allzu alt, demjenigen hatte es geholfen, eine zufällige wegwahl ohne paths! (paths suck)

    falls du nicht suchen willsd hier ungefähr wies geht:

    das object tastet die felder links rechts oben und unten von sich ab und testet so WO ein weg begehbar ist, nun muss er sich nur noch zufällig entscheiden, wichtig:

    falls es nur 2 wegstücke gibt die begehbar sind also wenn KEINE kreuzung ist, sondern eine lange gerade zB, dann muss immer die richtung gewählt werden die nicht entgegen der derzeitgen verläuft, sonsd wackelt das objekt nur umher.

    so wird der weg automatisch und zufällig selbst "erkundet"

    vorsicht: wenn den grid zB 32 ist, dann muss das objekt so laufen dass irgendwann 32 erreciht wird, zB immer 2 pixel weit, dann wird nach 16 schritte 32 fanzzahlig erreciht.

    es geht auch 2.66666.... dann wirds nach 12 schritten erreicht usw,

    aber zB nicht 3 sonsd wird 30 und 33 aber nie 32 erreicht
  • So ich konte das Problem jetzt halbwegs lösen und nun hab ich noch eine Frage undzwar kann man von gml aus ein alarm Event erstellen und darauf zugreifen und ihm dann eine aktion zuweisen ?(

    GML-Quellcode

    1. //soll nur zur veraunschlichung dienen
    2. alarm_event[0] = alarm_erstellen
    3. alarm_event[0] = 4
    4. with alarm_event[0]
    5. instance_create(x,y,bla)


    so ungefähr
  • Ist zumindest fast richtig ;)

    Mit

    GML-Quellcode

    1. alarm[n]=/*Zeit in Steps*/;

    kannst du den Timer setzen, anschließend kannst du im Alarm n-Event den Code angeben, der ausgeführt werden soll, wenn der Timer 0 erreicht. Das sähe z.B. so aus:

    Create:

    GML-Quellcode

    1. alarm[2]=room_speed*10;


    Alarm 2:

    GML-Quellcode

    1. instance_create(x,y,bla);
    2. alarm[2]=room_speed*10;


    so kannst du alle 10 Sekunden über Alarm 2 eine Instanz erstellen lassen. Hoffentlich hat's geholfen. :P