2014-02-11 38 views
1

我想設置請問如何界定財產Vector2,所以我可以做這個屬性來存儲數據,通過座標X或Y如下:Vector2財產X或Y

MyProperty.X = 1; 
MyProperty.Y = 2; 

在現在我的屬性代碼的樣子像這樣:

Vector2 myProperty; 
public Vector2 MyProperty 
     { 
      get 
      { 
       return myProperty; 
      } 
      set 
      { 
       myProperty = value; 
      } 
     } 

但我不能將值設置爲X或Y座標我只能設置新的Vector2。

+0

是什麼'myProperty'的類型?它應該是** Vector2 **或某種包含'X'和'Y'字段的類型 –

+0

它是可變的:Vector2 myProperty; – Earlgray

+0

如果您將myProperty設爲公開,您將可以對其執行任何操作。 – joppiesaus

回答

3

您不能直接修改(或變異)Vector2在XNA中的屬性。你需要做的,而不是什麼是這樣的:

float somevariable = 1f; 
MyProperty = new Vector2(MyProperty.X + somevariable, MyProperty.Y - somevariable); 

或者

var X = MyProperty.X + 1f; 
MyProperty = new Vector2(X, MyProperty.Y); 

參見herehere