[英]UNity3D error displaying variable from another script c#
我有一個UI Text元素(在畫布內),我需要從另一個腳本中獲取值。
我現在的工作方式(那是我要使其工作最接近的方式):
public class AttributeValueController : MonoBehaviour {
//public AttributeName attribute;
[SerializeField]
private Text attributeValue = null;
// Use this for initialization
void Start () {
attributeValue.text = CharacterGenerator._toon.GetPrimaryAttribute("Might").AdjustedBaseValue.ToString();
}
我在檢查器上將要更改的文本組件設置為“ attributeValue”。
當我運行這個我得到錯誤
資產/腳本/ HUD類/AttributeValueController.cs(19,58):錯誤CS0120:訪問非靜態成員`CharacterGenerator._toon'需要對象引用
和
NullReferenceException:對象引用未設置為對象UnityEngine.UI.Graphic.OnRebuildRequested()的實例(位於C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/UI/Core/Graphic.cs:480) UnityEngine.UI.GraphicRebuildTracker.OnRebuildRequested()(在C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/GraphicRebuildTracker.cs:33)UnityEngine.CanvasRenderer.RequestRefresh()(在C:/ buildslave / unity / build / artifacts / generated / common / modules / UI / CanvasRendererBindings.gen.cs:314)
有人可以幫忙嗎? 當我將此功能替換為“ 0”時,它可以工作...我到處搜索,無法修復它
如果CharacterGenerator
不是靜態類,則不能這樣訪問它。 您必須創建該類的實例才能訪問屬性。
CharacterGenerator cGen = new CharacterGenerator();
attributeValue.text = cGen._toon.GetPrimaryAttribute("Might").AdjustedBaseValue.ToString();
盡管鑒於這是該類的新實例,但我不希望填充這些屬性,但是也許您的類是這樣構造的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.