如何连接字符串并将其放入按钮 C# Unity

How to concatenate string and put it to buttons C# Unity

我目前正在开发一款益智文字游戏,但在实现 无尽模式

时遇到了一些困难

这里有一张图片供您参考

蓝色圈出来的那个代码是这个

textComp.text = "";

rowsToReadFrom[0] = indexx;
textArray = myTextAsset.text.Split('\n').ToList();
textComp.text += textArray[rowsToReadFrom[0]] + "\n";

indexx += 1;

红色圈出的就是我想要的,代码是这样的

char[] chars = words[index].GetString().ToCharArray();
        foreach (char c in chars)
        {
            testObject clone = Instantiate(prefab.gameObject).GetComponent<testObject>();
            clone.transform.SetParent(container);

            charObjects.Add(clone.Init(c));
        }

谁能指出我应该怎么做。

让我们把问题分成子问题并解决:

concatenate string 使用 + 运算符,它连接 string(s) - 第一个解决了

将其放入按钮中获取 stringlength,现在动态生成与长度相同的 Button(s) string 并将它们一个接一个地放置。

[使用 str[n] 从第 n 个位置获取字符,从 0 开始索引。]

设置 Button 的文本。 - 第二个问题解决了

This 将有助于创建 Button.

使用 GetComponent<Button>().text 更改 textButton

要将单个字符转换为 string 创建一个 string 像这样

string tem=Character.toString(your_character)(包含单个 space 的字符串),瞧

现在使用它。

虽然那里的答案也是正确的,但我有自己的答案,就在这里

string temp = textArray[rowsToReadFrom[0]];
temp = System.Text.RegularExpressions.Regex.Replace(temp, @"\s", "");
char[] chArr = temp.ToCharArray();

然后像这样把它放在一个按钮上

foreach (char c in chArr)
        {
            testObject clone = Instantiate(prefab.gameObject).GetComponent<testObject>();
            clone.transform.SetParent(container);

            charObjects.Add(clone.Init(c));

            //Debug.Log(c);
        }