我正在嘗試動態創建文本,因此我想在代碼中創建文本。我試著這樣做:
private void DrawIndexNumber()
{
Text txt = new GameObject().AddComponent<Text>();
txt.name = "Ind";
txt.transform.position = _posOfOrigin;
txt.material = materialNum;
txt.font = Font.CreateDynamicFontFromOSFont("arial", 16);
txt.text = "TEST";
}
上面的代碼創建了文本物件但不顯示它。
uj5u.com熱心網友回復:
所有 UI 元素都必須在 Canvas 游戲物件內才能可見。所以你可以做的是在編輯模式下添加畫布游戲物件。或者在運行時:
private void DrawIndexNumber()
{
Canvas canvas = new GameObject().AddComponent<Canvas>();
Text txt = new GameObject().AddComponent<Text>();
txt.name = "Ind";
txt.transform.position = _posOfOrigin;
txt.transform.parent = canvas.transform;
txt.material = materialNum;
txt.font = Font.CreateDynamicFontFromOSFont("arial", 16);
txt.text = "TEST";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/331415.html
