2016-07-15 12 views
0

は、私がこのようなコードでゲームに取り組んでいます:私はSpeedを変更する必要がエラー変数の変更「プロパティまたはインデクサーは 『』に割り当てることはできません - それは読み取り専用です」

[SerializeField, FixedNumber] 
     private long _speed = FixedMath.One * 4; 

     public virtual long Speed 
     { 
      get { return _speed ; } 
     } 

実行時にしかし、私はこのエラーを得た:

`XXX' cannot be assigned to (it is read only)

私はinspectorで変更を行うことができます。しかし、私はスクリプトでそれを変更する必要があります。どうやってやるの?

答えて

3

get { return _speed; }はあなただけだけあなたがvalueを取得できるようになりますgetアクセサを持っているので、唯一を読んです。 Speedプロパティに書き込むことができるようにするには、setアクセサーも含める必要があります。

private long _speed = FixedMath.One * 4; 
public virtual long Speed 
{ 
    get { return _speed; } 
    set 
    { 
     _speed = value; 
    } 
} 
関連する問題