公式が用意してくれるなら不要かもですが、昔作った自動改行(正確には文字列分割して、for文で draw_text() する想定) のスクリプトを添付しておきますね。
分割文字 (sep) が見つかればそれで改行 (分割) できますし、warpに文字の幅を指定すれば string_width() で文字幅を計算して改行するようにできます。
/// @description 文字列分割 (自動折返し).
/// @param str 分割する文字列
/// @param sep 分割文字
/// @param wrap 分割する幅
/// @return 分割された文字列 (array 1d)
function string_split2(argument0, argument1, argument2) {
var str = argument0; // source string.
var sep = argument1; // seperate string.
var wrap = argument2; // wrap width.
// 戻り値.
var ret = [];
var s = ""; // 切り出し中の文字列.
var idx = 0; // 文字の位置.
while(true) {
var s2 = string_char_at(str, 1);
if(s2 == sep) {
// 分割文字.
ret[idx] = s;
idx++;
s = "";
}
else if(string_width(s + s2) > wrap) {
// 自動折返し.
ret[idx] = s;
idx++;
s = s2;
}
else {
s += s2;
}
str = string_copy(str, 2, 65535);
if(string_length(str) <= 0) {
// 終わり.
if(string_length(s) > 0) {
// 空文字でないので追加
ret[idx] = s;
}
break;
}
}
// 返却する.
return ret;
}
通報 ...