Freie Objekt Bewegung

  • Freie Objekt Bewegung

    Hi!
    Ist es möglich, ein Objekt in einem bestimmten Feld sich frei bewegen zu lassen???
    Die Richtungen, werden dazu immer zufällig ausgewählt und ab und zu soll das Objekt auch mal kurz stehen bleiben???

    Kann man da was machen?

    mfg gm-freak
    [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
    [SIZE="20"]http://xphilfe.de.tt[/SIZE]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von gm-freak ()

  • alles möglich, versuchs mal so:

    GML-Quellcode

    1. xx = room_width/2;
    2. yy = room_height/2;
    3. xgoal = xx+random(32)-16;
    4. ygoal = yy+random(32)-16;
    5. direction = point_direction(x,y,xgoal,ygoal);
    6. speed = distance_to_point(xgoal,ygoal);
    das würde die instance innerhalb eines viereckes mit der kantnlänge 32, dessen mittelpunkt die raummitte ist randommäßig bewegen.

    edit: code fehler behoben.

    sry, mein fehler.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • rein theorethisch könnte es so nicht funzen :P

    weil wenn man

    GML-Quellcode

    1. direction = point_direction(x,y,xx,yy);
    2. speed = distance_to_point(x,y,xx,yy);

    benutzt.
    bewegt sich die instanz allerhöchstens nur in die mitte des raums es müsste so heissen:

    GML-Quellcode

    1. direction = point_direction(x,y,xgoal,ygoal);
    2. speed = distance_to_point(xgoal,ygoal);


    edit1: fehler behoben.
    edit2: hatte edit1 vergessen xD

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

  • Ne wo soll es denn hin?
    Ohne instance_destroy() verschwindet es nicht

    Oh, ja sorry. Es war nur nicht im View :ops:

    Aber ich hätte gerne, dass das Objekt nicht superschnell hintereinander irgendwo in dem Feld erscheint, sondern, dass es sich langsam da hin bewegt ;)

    Ich hänge mal die Datei an, dann könnt ihr selber sehen wie es aussieht
    (Ich habe es übrigens so abgeändert, dass das Objekt an der Position 0/0 startet und das Feld über den gesamten Room geht)

    Es wäre super, wenn ihe euch die Datei mal anschauen könntet (is nur die eine Sache drin ;))
    Dateien
    [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
    [SIZE="20"]http://xphilfe.de.tt[/SIZE]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von gm-freak ()

  • Weiß denn wirklich niemand, was ich machen muss, damit sich das Objekt langsam randommäßig durch den Room bewegt.

    Ich habe schon wieder einiges ausprobiert, leider aber erfolglos.
    Es wäre schön, wenn ihr euer Wissen hier einbringen könntet :)
    [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
    [SIZE="20"]http://xphilfe.de.tt[/SIZE]
  • Hmm... ich habe für mein Gunfight eine "KI" ^^" entwickelt, die auf solcher Bewegung basiert und da habe ich einfach Drag & Drop benutzt. Alle Paar Steps wir einfach eine neue Richtung gewählt und er verlässt den Level nie. Halt ohne Destinations und das ganze. Dann habe ich einen Rahmen gemacht, der aus Objects besteht, bei deren Kollision der Feind bounct. Das ließe sich auch locker vertikal + horizontal machen. Klar die Methode IST primitiv, aber sie funktioniert einwand frei.

    Zusammengefasst: Alle 15 Steps wird eine zufallsrichtung gewählt und bei Kollision mit dem Rahmen bewegt er sich in eine Zufallsrichtung und auf diese Weise bleibt er in dem Bereich den ich will und bewegt sich schön langsam und randommäßig. Aber soll der jetzt nur in die acht Grundrichtungen oder in alle möglichen Richtungen, auf den Grad genau? Das würde dann natürlich etwas mehr Coding erfordern, wäre aber auch nicht schwer zu machen.

    Ich bin jetzt nicht zu 100% sicher, ob Du das meintest, oder ob dir das ausreicht...

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

  • Es sollte für ein RTS sein.

    Ich hatte vor, damit die Tiere naturgetreu zu bewegen, sollte daher auch in ALLE Richtungen sein.
    Es sieht nämlich nicht so gut aus, wenn z.B ein Löwe ganz zackige Kurven läuft.


    Vielleicht hat ja jemand eine Idee, wie ich das coden könnte ?(
    [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
    [SIZE="20"]http://xphilfe.de.tt[/SIZE]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von gm-freak ()

  • Vielen Dank,
    iTEMs Datei habe ich noch ein bisschen umgeändert und jetzt funktioniert es alles super.

    Create-Event

    GML-Quellcode

    1. ziel_x=x;
    2. ziel_y=y;
    3. x_start=x;
    4. y_start=y;
    5. alarm[0]=random(100)+100


    Alarm[0]

    GML-Quellcode

    1. alarm[0]=random(100)+100
    2. ziel_x=random(room_width)
    3. ziel_y=random(room_height)


    Step-Event

    GML-Quellcode

    1. if (distance_to_point(ziel_x,ziel_y)>30)
    2. {
    3. step_towards_point(ziel_x,ziel_y)
    4. }
    5. //funzt so natürlich nicht, ich hab´s als D&D gemacht
    [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
    [SIZE="20"]http://xphilfe.de.tt[/SIZE]

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von gm-freak ()

  • ich glaube der fehlende befehl ist

    GML-Quellcode

    1. mp_potential_step(x,y,stepsize,checkall)

    zu finden unter der "Motion planning (Bewegungsplanung)" sektion in der hilfe datei.

    stepsize ist die distanz die sich maximal pro ausführung(in deinem fall pro step) gemacht wird, und checkall ist ob es alle instanzen umgehen soll(true) oder nur solide(false)

    edit: omg hab substanzen statt instanzen geschrieben zocke wohl zuviel ff7 ;)

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

  • Meinst du das so:

    GML-Quellcode

    1. mp_potential_step(random(room_width),random(room_height),3,1)


    ich habe das so im Step-Event.

    Ist eigentlich auch ganz gut, nur der Löwe hält nie an, sondern ist immer in Bewegung.
    Also werde ich wohl oder übel auf die umständliche erste Variante zurückgreifen.

    Es sei denn jemandem fällt etwas besseres ein :D
    [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
    [SIZE="20"]http://xphilfe.de.tt[/SIZE]
  • Benutzer online 2

    2 Besucher