2017-10-21 1 views
1

ここに誰かが指し示しています。 私は以下の問題があります。私には2つのクラスがあります。クラスListPainel。 とアイテム要件のクラス。私は、次のいるクラスListPainelで変数の値をA = Bの単位にする

[System.Serializable] 
public class Item 
{ 
public GameObject slotPrafab; 
public int numeroDeItensDisp; 
public int numeroDeItensTotal; 
} 
public List<Item> itemList; 

などなど...

とクラスRequirementsItemsに私は、次のしている: のみパブリック変数私はインスペクタで変更できるように統一

public Sprite imageNewItem; 
public Image imageItem; 
public Text req; 
public string barra; 
public int numberReqDisp; 
public int numberReqTotal; 
public static Item painel; 

などなど...

と私は、変数/ numberReqDispの値を必要とします。 be =アイテム数。私はこのように迷惑をかけるでしょう:

numberReqDisp = painel.numeroDeItensDisp; 

何が起こりますか?私の団結で値は変更されません。そして、それは

を「オブジェクト参照がオブジェクトのインスタンスに設定されていない」..と必要な明確なクラスのアイテムを作るためにエラーが発生しますがプレハブに取り付けられています。

+1

私はそれは申し訳ありませんが、私が翻訳し忘れたポルトガル –

+0

にあるので、オフトピックとして、この質問を閉じるために投票しています。これは、エラーを解決しました) –

+0

使用スタックオーバーフローのemポルトガル語:) –

答えて

0

「オブジェクトのインスタンスに設定されていないオブジェクト参照」は、それが初期化されていないことを意味します。あなたはそのようにすることができます。しかし、painelの値を割り当てることも忘れないでください。そのように:

public static Item painel = new Item(); 
painel.slotPrafab = ... 

そうするためのコンストラクタを定義します。

+0

;私は英語 –

+0

私はこの形を作ったが、それでも私にとってはうまくいかない。 numberReqDisp = painel.numeroDeItensDisp; –

+0

'painel.numeroDeItensDisp = 0;のようにpainelからフィールドに値を代入する必要があります。 – QuesterDesura

関連する問題