快速上网看了一下,没找到相关功能,于是自己写了一个,想着就放这里,万一别人也想用呢。
这个函数你可以随意使用和修改,无需注明出处。
由于Reddit搞乱了格式,所以做了些编辑。
///@param xx 绘制字符串的x坐标。
///@param yy 绘制字符串的y坐标。
///@param str 要绘制的字符串。
///@param width 换行前的最大宽度(像素)。
///@param charCount 要显示的字符数。设为-1则显示所有字符。
///@param colour 绘制文本的颜色。设为false则使用当前绘制颜色。默认值为false。
///@param alpha 文本的透明度。默认值为1。
///@description 该函数可绘制自动换行至指定像素宽度的文本,并允许控制显示文本的字符数。返回最终的字符串。
function typewriter_text( xx, yy, str, width, charCount, colour = false, alpha = 1 ) {
if !colour { colour = draw_get_colour() }
var _words = string_split( str, " " );
var _lines = "";
for( var i = 0; i < array_length( _words ); i++ )
{
_words[i] += " ";
if string_width( _lines + _words[i] ) < width
{
_lines += _words[i];
} else {
_lines += "\n";
_lines += _words[i];
}
}
if charCount == -1 { charCount = string_length( _lines ) - 1; };
var _text = string_copy( _lines, 1, clamp( charCount, 1, string_length( _lines ) ) );
draw_text_colour( xx, yy, _text, colour, colour, colour, colour, alpha );
return _lines
}
评论 (0)