我试图在我的游戏中建立一个系统,文本框会自动滚动任何时候新的文本添加到特定的TMPro文本网格对象中。

在我的代码中,用于选择新的文本选项生成更多文本(图像1),我尝试使用教程建议使用IEnumerator和强制Canvas更新使ScrollView对象滚动基于ScrollRect组件内的对象。然而,这导致实际上什么也没有发生;我仍然必须手动滚动文本框才能看到新添加的文本。

为了参考,你可以想象我的文本框想要滚动像 Morrowind 中的文本框一样,选择对话选项从右侧面板,左侧面板填充额外文本,自动滚动到显示所有新添加的文本如果它压倒了文本框本身。

我已经将对话滚动视图对象恰当设置了 ScrollRect,以及对话框在内容槽中的对象本身(图像2)

我还设置了似乎合适的内容大小适应器和布局组件在内容对象中,这个对象命名为对话框(图像3)

我不理解为什么对话框不会每次添加新文本到框本身时自动滚动到底部,因为我查阅的每个unity论坛帖子、Reddit帖子和YouTube视频都声称我尝试的方法都有效,但它们对我却无效。

任何和所有的帮助都很感谢。

感谢。

编辑:DiagInit函数仅仅是设置文本本身基于输入的每个部分,使用+=运算符添加到当前存在的对话中。因此,所有对话都存在在一个文本框中,类似于 Morrowind