私はJavaから来て、C#スクリプトを取り上げています。この問題は、約2日間発生し、解決策を探しています。クラスをインスタンスなどに設定してみました。これは私が何人かの友人と取り組んでいるミニチュアゲームプロジェクトのためのものです。
いずれにせよ、私はすべての統計ポイントを処理するStatHandler.csを持っています...次に、すべての健康関連のものを処理することになっているHealthManager.csを持っています。
問題は、私が一生の間、次のような変数を呼び出す方法を理解できないことです。
public int stamina, strength, agility, dexterity, wisdom;
StatHandler.csから
私はJavaではそれが同じくらい簡単であることを知っています
maxHealth = StatHandler.stamina * 10;
C#ではそれを行うことはできませんが、インスタンスを作成するときのコードは次のようになります。
maxHealth = StatHandler.instance.stamina * 10;
エラーが発生します
NullReferenceException: Object reference not set to an instance of an object
私もこれを行うことで、継承を試みました
public class HealthHandler : StatHandler {
ただし、HealthHandlerクラスのすべての値を0に設定し、何も読み取りません。
私は本当に他のC#ファイルから変数をプルする方法を理解する必要があります。これは私を遅くしているからです。