Variablen mit +i steigern

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

  • Variablen mit +i steigern

    Hallo zusammen!

    Kann mir jmd. erklären, wie ich ein steigendes i (in einer for schleife oder ähnlichem) in eine variable einbinde?

    Z.b.:

    GML-Quellcode

    1. i = level
    2. room_goto(room_level[i])
    3. global.level_geschaft = [i];


    wobei das i für den Raum steht..
    Lassen sich solche Strings zusammen ~kleben? Sind warscheinlich Grundlagen... aber ich weiss nicht mehr weiter :S

    Grüße!
  • Hallo Gametrickser!

    Ich habs schlecht beschrieben. Aber ich probier´s nochmal andersrum:

    Ich habe 10 Räume: room_level1 bis room_level10

    ist es möglich die 1-10 aus dem namen zu isolieren und in einer Variable zu speichern?

    Und nochmal zum Raum:

    room_goto("room_level"+string(level)) ich meine das Funktioniert nicht :/
    auch ..."room_level" geht nicht.
  • Arbeite doch zb mit dem Beispiel aus der "room_goto()" Hilfe.

    GML-Quellcode

    1. RandomLevel = irandom_range(0,3)
    2. switch (RandomLevel)
    3. {
    4. case 0: room_goto(room0); break;
    5. case 1: room_goto(room1); break;
    6. case 2: room_goto(room2); break;
    7. case 3: room_goto(room3); break;
    8. }


    Hier lasse ich in der Variable "RandomLevel" ein Zufallswert zw 0 und 3 speichern und je nachdem welcher wert in der Variable (case 0...3) ist springt er zu dem Raum.
    Das kannst du natürlich mit deiner "i" variable ersetzen. Aber nicht einen string darin speichern ("room_level"+string(level)) sondern einfach die Zahl.
    Wenn die Level nur "nacheinander" sich abspielen sollen, kannst du auch mit "room_next" (springt einfach in denn nächsten raum) arbeiten oder room_last (in den Raum davor).

    Vielleicht hilft das dir weiter?

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

  • Versuchs mal hiermit

    GML-Quellcode

    1. ​i = level;
    2. room_goto(asset_get_index("room_level"+string(i)));


    Ich hoffe ich hab dich richtig verstanden

    Pferdestärke:
    Die Rooms sind übrigens sozusagen nummern genauso wie objecte usw. also 0 ist der erste und room_last <- auch eine zahl, der letzte room. Um jetzt z.B. zwei Räume weiter zu gehen, kann man ach das machen:

    GML-Quellcode

    1. ​room_goto(room+2);


    Lg Husi
    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
  • Damit kannst du z.B. einen Variablennamen der ein String ist so umändern, dass er zu einer Variable wird (z.B. "var_Variable" = var_Variable).
    Ich hoffe ich hab das richtig erklärt :D
    Hab ich auch erst seit kurzem hier im Forum gesehen. Ist aber sehr hilfreich!
    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
  • Damit kannst du z.B. einen Variablennamen der ein String ist so umändern, dass er zu einer Variable wird (z.B. "var_Variable" = var_Variable).​


    ​Das ist doch mal ne Aussage

    Die völlig dumm ist.

    Wenn du eine Variable aus einem String ziehen willst, dann benutzt man u.a. real().

    asset_get_index, sucht nach dem Asset, wie z.B. einen Raum und gibt diese als Zahl zurück, sprich als index.
    das selbe kann man auch mit Objekten und allen anderen Dingen machen.

    Wenn man etwas erklärt, dann wenigstens halbwegs richtig.

    -Nils