Hiya zusammen.
Ich weiß auch ncih was mit mir los is, aber ich bekomms einfach nich hin mir n script zu basteln dass einen String der eine bestimmte Breite (in Pixeln) überschreitet als string mit "#" für multilines wiedergibt.
Ich hab zB n Text wie diesen hier:
EWIEHOWIUEHOIWQEUHJWQEOJWEUIOHWQEHUOWQIEHWQEUIHWE
Allerdings will ich dass der string nur max. 100 pixel breit sein darf.
Game Maker hat zwar die draw_text_ext Funktion mit der ein String mit linebreak bei bestimmter Länge gezeichnet wird, jedoch NUR wenn sich irgendwo im string ein leerzeichen oder ein Bindestrich befindet.
Somit muss ich mir da selber n script schreiben...hier ist mal was ich bisher hab:
Alles anzeigen
Ich weiß auch nich...iegendwas klappt einfach nich.
Ich will ja nur den selben string zurück bekommen aber mit Zeilenumbruch.
Kann mir hier bitte mal eben jemand helfen, bremst mich grad beim arbeiten an Slime Online ².
Mann is das peinlich
Danke schonmal im Vorraus
Ich weiß auch ncih was mit mir los is, aber ich bekomms einfach nich hin mir n script zu basteln dass einen String der eine bestimmte Breite (in Pixeln) überschreitet als string mit "#" für multilines wiedergibt.
Ich hab zB n Text wie diesen hier:
EWIEHOWIUEHOIWQEUHJWQEOJWEUIOHWQEHUOWQIEHWQEUIHWE
Allerdings will ich dass der string nur max. 100 pixel breit sein darf.
Game Maker hat zwar die draw_text_ext Funktion mit der ein String mit linebreak bei bestimmter Länge gezeichnet wird, jedoch NUR wenn sich irgendwo im string ein leerzeichen oder ein Bindestrich befindet.
Somit muss ich mir da selber n script schreiben...hier ist mal was ich bisher hab:
GML-Quellcode
- /*$
- Returns a string with # to use multilines
- argument0 = string to split
- argument1 = allowed max length in pixel
- */
- _original = argument0 //The original text
- _temp = ""
- _final = ""
- if (string_width(_original) >= argument1)
- {
- for(i=0;i<=string_length(_original);i+=1)
- {
- _temp += string_copy(_original,0,1)
- _original = string_delete(_original,0,1)
- if (string_width(_temp) >= argument1)
- {
- _final +="#" //string_insert("#",_temp,string_length(_temp)-1)
- _temp = string_insert("#",_temp,string_length(_temp)-1)
- }
- else
- _final += string_copy(_temp,string_length(_temp),1)
- }
- }
- else
- _final = _original
- return _final;
Ich weiß auch nich...iegendwas klappt einfach nich.
Ich will ja nur den selben string zurück bekommen aber mit Zeilenumbruch.
Kann mir hier bitte mal eben jemand helfen, bremst mich grad beim arbeiten an Slime Online ².
Mann is das peinlich

Danke schonmal im Vorraus
