Mehrere Strings zu einem String vereinen

  • GM 8
  • Mehrere Strings zu einem String vereinen

    Ich habe hier beispielsweise zwei Strings:
    var_string beinhaltet 'test1', var_subtstring beinhaltet 'test2'.
    var_substring soll am Ende von var_string angefügt werden, damit der zu zeichnende String var_string so aussehen soll: 'test1test2'.

    Ich habe versucht, das Ganze so zu realisieren:

    Create Event:

    GML-Quellcode

    1. var_string = 'test1';
    2. var_substring = 'test2';
    3. string_insert(var_substring,var_string,string_length(var_string));


    Draw Event:

    GML-Quellcode

    1. draw_text(x,y,var_string);

    Jedoch ist nur 'test1' zu sehen, als wäre var_string völlig unverändert. Entweder muss mir irgendwo ein Fehler unterlaufen sein, oder string_insert() ist nicht das, was es mir zu sein scheint. Help.

    Beachtet allerdings, dass ich auf jeden Fall einen String an einen anderen String anfügen will und nicht einfach nur beide nebeneinander wie folgt zeichnen lassen will:

    GML-Quellcode

    1. draw_text(x,y,var_string+var_substring);
  • string_insert ändert nichts an den verwendeten Variablen sondern gibt den neuen Wert zurück, d.h. du musst den Wert in die Variable speichern.

    GML-Quellcode

    1. var_string = string_insert(...)


    Was du aber möchtest, musst du nicht über eine Funktion machen, sondern du kannst Strings aneinanderreihen indem du sie mit + verbindest, ähnlich wie du als Beispiel gezeigt hast, nur dass du das eben schon im Create-Event machst. Also:

    GML-Quellcode

    1. var_string = var_string + var_substring
    2. // Oder
    3. var_string += var_substring

    © 2008 by Teamgrill Productions
  • Vielen, vielen Dank euch beiden, jetzt funktioniert's tadellos. :)

    Außerdem müsste ich theoretisch, wie mir soeben aufgefallen ist, statt

    GML-Quellcode

    1. var_string = string_insert(var_substring,var_string,string_length(var_string));

    das hier

    GML-Quellcode

    1. var_string = string_insert(var_substring,var_string,string_length(var_string)+1);

    schreiben, wenn's wirklich ans Ende kommen soll. Das simple Addieren funktioniert selbstverständlich auch. Dankedankedanke nochmals!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Zelgadis ()

  • Benutzer online 1

    1 Besucher