我正在用 C# 编写一个 3D 迷宫程序,我需要让 UI 文本显示“你赢了!”当玩家到达迷宫的尽头时。
我在 Unity 中设置了一个名为 FinishLine 的立方体触发器,并且有名为 winText 的 UI 文本
我在这条线上遇到错误..
GUI.Box(新矩形(10,10,100,90),winText);
错误是“unityengine.gui.box (unityEngine rect, string) 的最佳重载方法 matfch”有一些无效参数
我也不知道这些数字是什么(10,10,100,90),所以也许这把事情搞砸了?这些值表明什么......?
这是我的代码..
public class TextTrigger : MonoBehaviour {
public GUIText winText;
private bool FinishLine = false;
void Start () {
FinishLine = false;
}
void OnTriggerEnter(Collider col){
if (col.tag == "Player") {
FinishLine = true;
}
}
void OnGui() {
GUI.Box(new Rect(10,10,100,90), winText);
}
}
编辑 - 更新了我的代码,并且出现了新错误。
第 21 行写道:“UnityEngine.Texture 不包含文本定义,并且找不到接受“UnityEngine.Texture”类型的第一个参数的扩展方法“text”。您是否缺少 using 指令或程序集引用?
新代码:
使用系统集合;使用 System.Collections.Generic;使用
统一引擎;使用UnityEngine.UI;
公共类FinishLine:MonoBehaviour {
public Texture winText; private bool FinishPlane = false;
// Use this for initialization void Start () { FinishPlane =
false;
}
void OnTriggerEnter(Collider col) { if (col.tag == "Player") {
FinishPlane = true; winText.text = "You Win!"; } } }