object_add() und dann...?

    • GM 8

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

    • object_add() und dann...?

      also ... hallo und direkt zum thema:

      ich erstelle ein objekt mit:

      GML-Quellcode

      1. o = object_add()


      und wie füge ich jetzt code hinzu?
      ich hab es so probiert aber ka ob das so richtig ist...

      GML-Quellcode

      1. if (o>0)
      2. {
      3. object_event_add(o,ev_create,0,"code zeile 1")
      4. object_event_add(o,ev_create,1,"code zeile 2")
      5. object_event_add(o,ev_create,2,"code zeile 3")
      6. object_event_add(o,ev_create,3,"code zeile 14")
      7. }


      geht es auch wenn ich direkt den code hintereinander schreibe?

      GML-Quellcode

      1. if (o>0)
      2. {
      3. object_event_add(o,ev_create,0,"code zeile 1
      4. code zeile 2
      5. code zeile 3
      6. code zeile 4
      7. ")
      8. }


      ich hab grad bei einem anderen thread gesehen das die da keinen code direkt eingegeben haben sondern "execute_script(mein_script);"...

      kann mir jemand helfen? :)

      danke
      mfg R3booz

      EDIT:
      Ich hab noch das gefunden das bestätigt meinen ersten versuch: pastebin.com/Wfxg5Avc

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl

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

    • r3booz schrieb:

      "execute_script(mein_script);"...
      Sollte man vermeiden.

      Dein 2. Versuch ist richtig.

      object_event_add(ind,evtype,evnumb,codestr)
      Um dem Objekte ein Verhalten zu geben, müssen wir dem Objekt Eigenschaften definieren. Du kannst nur Code-Aktionen für die Events hinzufügen. Du musst das Objekt nennen, den Event Typ. Die Event Nummer (benutze die Konstanten welche für die event_erform() Funktion angeben ist). Zuletzt gib den Code Zeichenkette, welche ausgeführt werden soll, an. Du kannst mehrer Code Aktionen zu jedem Event hinzufügen.
      evnumb gibt eine genauere Bezeichnung von evtype an. Wenn du z.B. das Room-Start Event brauchst, muss evtype ev_other sein und evnumb ev_room_start.
      Falls evtype nicht genauer beschrieben werden muss, dann gib evnumb einfach den Wert 0.

      Der Code wird dann so übergeben, wie du es bei deinem 2. Versuch schon hattest, also nicht zeilenweise.

      GML-Quellcode

      1. o = object_add();
      2. object_event_add(o, ev_create, 0, 'show_message("Hallo Welt!");
      3. game_end();');
      4. instance_create(0, 0, o);
    • ok vielen dank schonmal und wie mach ich das mit variablen?

      das hier funktioniert nicht:

      GML-Quellcode

      1. text = "Hallo"
      2. object_event_add(o,ev_create,0,'
      3. show_message('+text+');
      4. '')

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl
    • Ist klar, dass das nicht funktioniert, wenn du dir mal anschaust, was passiert, wenn der Wert von text da eingesetzt wird:
      "show_message(Hallo);"
      In diesem Fall müsstest du bei text noch Anführungszeichen mit reinschreiben.

      GML-Quellcode

      1. text = "'Hallo'"
      2. object_event_add(o,ev_create,0,'
      3. show_message('+text+');
      4. '')
    • warte :|

      wie ist es mit befehlen und integer werten?

      beispiel das nicht klappt:

      GML-Quellcode

      1. object_event_add(o,ev_create,0,'
      2. tl_shadowsprite_intensity(id,'+ini_read_integer("shadowint",0.006)+')
      3. ')


      unbekannte befehle:
      tl_shadowsprite_intensity(integer,integer)

      aber in echt:

      GML-Quellcode

      1. object_event_add(o,ev_create,0,'
      2. tl_shadowsprite_intensity(id,0.006)
      3. ')


      müsste es ja klappen ?(

      haha keine sorge ist alles richtig initalisiert und so

      ERROR:

      Quellcode

      1. ___________________________________________
      2. ERROR in
      3. action number 1
      4. of Create Event
      5. for object obj_xyz:
      6. Error in code at line 37:
      7. tl_shadowsprite_intensity(id,'+hz_ini_read_integer("shadowint",0.006)+')
      8. ^
      9. at position 69: Wrong type of arguments to +.

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von r3booz ()