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

问题描述 投票:1回答:2

我正在制作益智文字游戏,并且很难实现无限模式

这是一张供您参考的图片

enter image description here

用蓝色包围的代码就是这个

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));
        }

有人可以指出我应该怎么做。

c# unity3d game-development
2个回答
1
投票

让我们分解子问题中的问题并解决:

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

把它放到按钮中得到那个lengthstring,现在动态生成Button(s)与string的长度相同并一个接一个地定位它们。

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

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

This将帮助创建Button

使用text更改ButtonGetComponent<Button>().text

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

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

现在用它。


0
投票

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

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);
        }

© www.soinside.com 2019 - 2024. All rights reserved.