user defined event eines objektes über ein anderes objekt definieren

  • GM 8

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

  • user defined event eines objektes über ein anderes objekt definieren

    Edit: Scroll runter, da wo "neue frage" steht, das ist mein aktuelles Problem :D

    Hi,
    gibt es eine Möglichkeit, dass wenn ich eine Instanz erstelle ich dessen User defined Event verändere.
    also dass ich einen Code daran schreiben kann.
    Oder irgendwie sowas.
    Ich möchte nämlich eine Instanz erstellen können und dann beim erstellen der Instanz bestimmen können was passieren soll wenn jene Instanz destroyed wird oder so.
    Verstehste was ich meine? xD

    lg. Pac

    edit:
    beispiel:
    Ich würde gern eine Instanz erstellen:

    GML-Quellcode

    1. obj = instance_create(0,0,obj_button)

    Und dann definiere ich das user event irgendwie so (wär zumindest cool wenns gehen würde xD)

    GML-Quellcode

    1. obj.ev_user0 =
    2. {
    3. x = 400
    4. y = 100
    5. instance_create(0,0,obj_irgendeinObjekt)
    6. image_blend = c_red
    7. // und was auch immer, irgendein Code halt :D
    8. }


    (Ich weiß dass das nicht geht, und dass das eine Konstante ist, jaja....aber ich würde gerne wissen wie ich sowas realisiere dass es geht. Oder sonst irgendeine Möglichkeit sowas zu machen)
    Sorm ist Schuld

    Edit: Doch ist er

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Pacmangamer ()

  • mach doch:

    GML-Quellcode

    1. obj=instance_create(x,y,objekt)
    2. object_event_add(obj,"create",0,"code")

    also

    object_event_add(ind,evtype,evnumb,codestr)
    edit :
    oh hab dein edit nicht gesehen:

    GML-Quellcode

    1. obj=instance_create(x,y,obj_button)
    2. object_event_add(obj,"user0",0,"{
    3. x = 400
    4. y = 100
    5. instance_create(0,0,obj_irgendeinObjekt)
    6. image_blend = c_red
    7. // und was auch immer, irgendein Code halt :D
    8. }")
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • interessant, interessant.....ich probiers aus.
    Danke schonmal :)

    Edit:
    Bringt mich aber trotzdem schonmal weiter....funktioniert zwar nicht so wie du es geschildert hast, aber:

    GML-Quellcode

    1. instance_create(100,20,object1)
    2. object_event_add(object1,ev_alarm,0,"image_blend = c_blue")

    ist auch schon ein Anfang

    Problematisch ist nur dass das ganze für Objekte funktioniert, aber nicht für einzelne Instanzen ;D


    NEUE FRAGE:
    Ich suche sowas:

    GML-Quellcode

    1. instance_create(100,20,object1)
    2. object_event_add(object1,ev_alarm,0,"image_blend = c_blue")


    Nur dass ich damit einzelnen Instanzen ein Event verändere, und nicht allen Instanzen dieses Objektes. Dann wär ich gklücklich :3
    Denn z.B.

    GML-Quellcode

    1. lol = instance_create(100,20,object1)
    2. object_event_add(lol,ev_alarm,0,"image_blend = c_red")

    geht nicht....aber

    GML-Quellcode

    1. instance_create(20,20,object1)
    2. object_event_add(object1,ev_alarm,0,"image_blend = c_red")

    schon
    Sorm ist Schuld

    Edit: Doch ist er

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Pacmangamer ()

  • Das geht leider nicht da Events nunmal objektgebunden sind.
    D.h. du kannst nur das Event einer Objektart ändern. Wie wärs wenn du einfach Den Code mit einer Bedingung versehen würdest wie if (id = objekt_lol) {//code für diese spezielle Instanz).
    Dann setzst du die globale Variable "objekt_lol" einfach auf die ID der mittels instance_create erstelten Instanz.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Mit script_execute kannst du deinem Button ein Skript übergeben das du dann mit
    Manchmal willst du einen Skriptindex in einer Variable speichern und ausführen. Dafür kannst du folgende Funktion verwenden

    script_execute(scr,arg0,arg1,...) Führt das Skript mit dem Index scr und den angegebenen Argumenten aus.

    ausführen kannst.

    #edit:
    Vererbung ist vielleicht auch anwendbar.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%