2016-07-15 5 views
0

arbeite ich an einem Spiel mit einem Code wie folgt aus:Fehler beim Größe zu verändern „oder der Indexer‚‘kann nicht zugeordnet werden - es ist nur lesen“

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

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

Welche Ich brauche die Speed zu ändern zur Laufzeit. Aber ich habe diesen Fehler:

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

Ich kann Änderungen vornehmen in inspector. Aber ich muss es mit Skript ändern. Wie kann ich das machen?

Antwort

3

get { return _speed; } ist nur lesen, weil Sie nur get Accessor haben, die nur ermöglicht es Ihnen, die value bekommen. Um es zu ermöglichen, in die Speed-Eigenschaft zu schreiben, müssen Sie auch den set Accessor einschließen.

private long _speed = FixedMath.One * 4; 
public virtual long Speed 
{ 
    get { return _speed; } 
    set 
    { 
     _speed = value; 
    } 
} 
Verwandte Themen