このエラーは
public class UpgradeManager
{
public static float tickValue;
}
がstatic
キーワードを削除し、それはあなたがあなたの質問を持っているコンテキストで動作する、以下のようにあなたのUpgradeManager
に見えることを意味します。
はあなたが以下のようにそれにアクセスする必要がある静的な文脈でそれを使用したい場合は、しかし、あなたはインスタンス化オブジェクトで使用することはできませんので
UpgradeManager.tickValue
(新しいUpgradeManagerは()インスタンスを作成します)あなたの例でそれを使用します。
public float GetMoneyPerSec()
{
float tick = UpgradeManager.tickValue;
// it cannot be used in a for-loop with each instance referencing it, static is a global, single value.
return tick;
}
が、何をやってみたかったかもしれないことは、この
public float GetMoneyPerSec()
{
float tick = UpgradeManager.tickValue/items.length;
// it cannot be used in a for-loop with each instance referencing it, static is a global, single value.
return tick;
}
である私はそれがそのように見えるけど、どのように私は仕事にそれを変えることができますか? /私は静的からそれを変更したくない。 – Kalip
上記のコメントを含めるために私の答えを編集しました –
問題は、それを静的に保存したいのですが、静的でなければ、私の保存スクリプトでそれを参照できません。 – Kalip