Realtive mit GML?

  • GM 8

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

  • Darüberhinaus gibt es bei GM-Funktionen, dessen Drag&Drop Icons eine Relative-Checkbox beinhalten, in GML einen weiteres Argument, meist mit dem Namen absolute. Wird dafür false angegeben, ist es relativ.
    Beispiel:

    GML-Quellcode

    1. path_start(path,speed,endaction,absolute);


    Gruß,
    Boskura

    ____
    Adventskalender 2010: Blue Smiley
  • Danke Boskura,
    Genau das habe ich gemeint, weil mit dem + und - kann man glaube ich nicht machen das auf einem Objekt das sich bewegt z.b ein anderes Objekt erstellen lassen!
    Dann müsste das so gehen oder?:

    GML-Quellcode

    1. instance_create(Objekt,0,0,absolute)

    Muss man absolute durch false ersetzen?
  • Du kannst dich natürlich auch, wie Marin, von der Position eines anderen Objekte weg bewegen.
    Eigendlich müsstest du diesen Umgang schon kennen, wenn du mit Views schon gearbeitet hast.

    GML-Quellcode

    1. view_xview
    2. view_yview

    Hast sicherlich auch schon mit diesen Variablen die Position von Draws oder Objekten bestimmt. :)
  • Ja erstmal zu der Lößung von SDX:
    Hmm ich weiß nicht wie ich die Position des Objekts berechnen soll wenn sich dieses Bewegt?

    GML-Quellcode

    1. instance_create( x + relative_xposition, y + relative_yposition, obj_whater );

    Zu Marvin:
    Bei diesem Code ensteht ein neues Problem! Nähmlich wenn 2 gleiche Objekte in dem Room sind ist Object.x nähmlich das neuere Objekt!

    GML-Quellcode

    1. instance_create(obj_bewegen.x,obj_bewegend.y,objekt)

    Zu Lucky:
    Wie soll das den gehen, wenn ich z.b keine View habe oder die View ihm nicht folgt!

    @All Kann nicht jemand ein Beispiel machen bei dem ein Object einem anderen Object folgt das sich bewegt?
  • Die Funktion instance_create(x,y,obj) wird einmalig aufgerufen, das heißt das Objekt wird an einer Position erstellt und bleibt dort stehen, unabhängig davon, ob du die X- und Y-Koordinaten eines Objekts eingegeben hast. Daher passt sich nach dem Aufrufen dieser Funktion die Position des erstellen Objekts (logischerweise) nicht automatisch an. "Einem anderem Objekt folgen, welches sich bewegt" ist etwas undeutlich ausgedrückt. Eine Möglichkeit wäre es zumindest, im Step Event (welches ununterbrochen Step für Step aufgerufen wird, um genau zu sein 30 mal in der Sekunde, sofern du am roomspeed nichts verändert hast) dem Objekt die Koordinaten des zu folgenden Objektes zuzuweisen. Das sähe dann so aus:

    GML-Quellcode

    1. //Step Event
    2. x := Objektname.x;
    3. y := Objektname.y;

    Somit wird die Position dauerhaft angepasst, das Objekt "klebt" allerdings förmlich an dem anderen. Eine Alternative wäre, sofern es sich um ein Top/Down Game handelt, die Funktion mp_linear_step() oder Abwandlungen davon. Lies dir am besten dazu das Kapitel "motion planning" in der Hilfe durch.

    Nur mal so nebenbei: Wenn du die Suchfunktion mit den Begriffen "objekt folgen" verwendest, findest du auch gute Lösungsvorschläge zum Thema Verfolgung.

    Gruß,
    Boskura

    ____
    Adventskalender 2010: Blue Smiley

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

  • So hab ich das eigentlich nicht gemeint. Ich wollte eigentlich nur wissen wie ich die X und Y Koordinaten eines Objekts Rausfinden kann um dort dann ein Objekt zu erstellen das sich nicht bewegt! Das Beispiel wollte ich eigentlich nur, weil ich wissen wollte wie ihr so ein Problem lößt, also wie ihr die Koordinaten heraus findet, obwohl sich das Objekt bewegt.
  • wie oft sollen es dir denn noch alle schreiben.
    insatnce_create(dein_zu_suchendes_objekt.x,dein_zu_suchendes_objekt.y,dein objekt)
    Ps um ein ibjekt genau zu identifizieren must du nur sein "id" heraus bekommen. und sie in eine Variable zwischen speichern

    zb variable
    objekt_id=0

    wenn die variable nun die information hat.
    dan würde es so heißen.

    insatnce_create(objekt_id.x,objekt_id.y,dein objekt)

    Wie du die id heraus gekommst und einbaust kann man hier nicht sagen. Da du wie in den Meisten Beträgen kaum Konkrete angaben zu deiner Frage und den Umständen machst bzw wo für es gedacht ist.
    Was eine Hilfe immer sehr erschwert.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Benutzer online 1

    1 Besucher