我想知道如何建議設計一個類,因爲XNA框架使用結構遍佈整個地方?XNA類設計與Structs作爲屬性和問題,因爲它們是值類型,而不是引用類型
例如,spite類可能需要在類的外部訪問Vector2和Rectangle(都定義爲Struct)。
問題進來,當你嘗試寫這樣的代碼:
class Item
{
public Vector2 Position {get; set;}
public Item() { Position = new Vector2(5,5); }
}
Item i = new Item();
i.Positon.X = 20; // fails with error 'Cannot modify the return value of Item because it is not a variable.'
// you must write code like this
var pos = i.Position;
pos.X++;
i.Position = pos;
第二個選項編譯和作品,但它僅僅是屁股難看。有沒有更好的辦法?
所以你說的是做這樣的事情'public Vector2 Position;'替代'public Vector2 Positin {get;設置;}' – Nate 2010-03-24 01:53:06
是的,實際上......更新了答案,並附有Rico Mariani的一篇很棒的帖子的鏈接 – 2010-03-24 01:55:19
只有當你的類不希望在位置改變時更新其他東西,或者沒有任何錯誤,不需要爲運動做一些特殊的計算,或者類似的事情。 – Bob 2010-03-24 04:19:18