【问题标题】:Linebreak (#) every X characters每 X 个字符换行 (#)
【发布时间】:2019-06-01 13:02:28
【问题描述】:

如何制作每个x 字符插入# 字符的脚本?

我已经尝试通过在下面创建一个脚本来做到这一点。

这是我的脚本,但它不起作用,不知为何……

/// string_linebreak(str,w)

var str, w, p, l;

str = argument[0];
w = argument[1];
l = string_length(str);

// Linebreakes
for (p = 0; p <= l; p ++) {
    if (p mod w) {
        string_insert("[@l]", str, p);
    }
}

str = string_replace_all(str, "[@l]", "#");

return str;

除了每个x 字符得到一个带有# 字符的字符串。

【问题讨论】:

  • 我也试过if ((p mod w) == 0) then而不是if (p mod w) then。我没有工作。
  • 如果你只是想画这个,你可以试试draw_text_ext,它会自动换行。
  • @Rob Quist,我有自己的脚本,通过读取和删除标签来绘制彩色文本,因此它不起作用。

标签: string function gml


【解决方案1】:

试试这个。

//string_linebreak(str,w)
var str = argument0;
var spacing = argument1;
var leng = string_length(str);
var output = "";

var p;
for (p=1; p<=(leng+1); p++)
{
    output += string_char_at(str,p);
    if ((p mod spacing)==0)
    {
        output += "#";
    }
}

return output;

如果您很好奇,问题是您尝试遍历每个字符,但同时也在向字符串中添加字符。

【讨论】:

  • 谢谢。待会儿回家试试。
猜你喜欢
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多