roomname aus strings und variablen zusammensetzten

  • GM 7

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

  • roomname aus strings und variablen zusammensetzten

    hallo zusammen.

    ich arbeite an einem platformer. die ganze welt setzt sich aus rooms zusammen.
    wenn ich in einem room links herausgehe, lädt der nächste room, wo die spielfigur dann rechts ins bild kommt. die räume sollten dann wie in einem koordinaten-system zusammen gesetzt werden. also benenne ich meine räume entsprechend: "room_0_0" oder "room_20_4".
    mein problem ist, dass gamemaker offenbar mühe hat einen aus strings und variablen zusammengesetzten raumnamen zu verwenden.

    versuch 1 war etwa so: roomname = 'room_'+string(map_x)+'_'+string(map_y); room_goto(roomname);
    das ging aber nicht. weiterhin habe ich hier im forum gelesen, das sowas mit execute_string() gehen soll. da habe ich allerdings den überblick total verloren. nach zahlreichen versuchen dann auch aufgegeben und alles wieder gelöscht.

    kann mir da jemand auf die sprünge helfen?
    danke
    PUTREFACTION ////
    ◇ ALIEN BASTARDS ◇ SLY PITCH ◇ SHOVE MASTER ◇

  • execute_string('room_goto(room_'+string(map_x)+'_'+string(map_y) + ')')

    executing_string(teststring) führt den string(Zeichenkette) teststring aus
    dabei kann alles in den beiden Klammern entweder eine Variabel sein, oder
    eine festgelegte zeichenkette.
    Die Stringvariabeln und die eingesetze Zeichenkette
    werden dann als "eins" angesehn und durch execute_string einfach ausgeführt
    "room_goto(room_" dies plus die stringform von map_x,
    das plus "_" und der string von (map_y) + ")"

    ein anderes Beispiel wäre:
    executing_string("string("+string(abc)+")")
    ist nichts anderes als der Befehl string(abc)
    wobei abc(integer) irgendeine Zahl ist, bzw. für etwas steht

    bei den " oder auch ' gilt einfach:

    1. " steht für Aufnahme beginn, 2. " für Aufnahme beenden^^

    Ich hoffe das reicht^^ mfg nis
    Wie viele von euch wissen, dass Rot und Grün Gelb ergibt?

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

  • Um kurz das "Warum?" zu erklären:
    Dein ursprünglicher Code hat nicht funktioniert, weil der Raumname kein String ist.
    Er ist eine Variable, im Sinne des Game Makers sogar eine Konstante.

    Alternativ wäre es vielleicht möglich, mit variable_get_global oder wie die Funktion heißt zu arbeiten. Die nimmt tatsächlich den Namen der Variable als String. Keine Ahnung, ob das bei Build-In-Variablen funktioniert.
  • jahaa. jezt ist der groschen gefallen! jetzt erkenn ich auch endlich die einzelnen teilstücke, die zusammengesetzt werden. keine ahnung, wieso ich das nicht gleich gesehen habe. danke mädels. :)

    das tolle ist, man kann bei meinem room-koordinatensystem auch negative werte haben. da minuszeichen in der room bezeichnung nicht gehen, habe ich sie einfach durch ein "n" ersetzt.

    zb. room_n2_13 wäre -2x und 13y.
    PUTREFACTION ////
    ◇ ALIEN BASTARDS ◇ SLY PITCH ◇ SHOVE MASTER ◇