无法将类型'string []'隐式转换为'string' 嗨,我是这一切的新手。我正在尝试为NPC建立独白系统。我不知道如何使公共文本=公共字符串[]句子。出现错误。
public class NPCDialogue : MonoBehaviour
[TextArea(3, 10)]
public string[] sentences; //THIS
// Update is called once per frame
void Update()
{
}
void OnTriggerStay(Collider other)
{
if (other.gameObject.name == "Sprite")
{
guiObject.SetActive(true);
playerInRange = true;
if (guiObject.activeInHierarchy == true && Input.GetButtonDown("Use"))
{
if (dialogBox.activeInHierarchy)
{
dialogBox.SetActive(false);
}
else
{
dialogBox.SetActive(true);
dialogText.text = sentences; //THIS
CS0029 C#无法将类型'string []'隐式转换为'string'
在“ dialogText.text =句子;”上,“句子”用红色下划线标出并显示上面的错误消息。
当我只有“公共字符串句子”而不是“公共字符串[]句子”时,没有红色下划线
其他信息:我在Unity的公共文本dialogText上放置了一个文本UI。我有[]和公共字符串[],因为我希望句子多行。
idk
答案 0 :(得分:1)
由于text属性需要一个字符串,并且正在提供一个字符串数组,因此您收到错误消息。即使文本框是多行,您也不能只传递数组。您需要做的是这样:
//Looping to get every item in the array
for(int i = 0; i < sequences.Length; i++) {
dialogText.AppendText(sequences[i]); // This is how we add multi-line text. We append text so the next time we perform the action the text is going to be on a new line.
}
这应该解决它。