我想知道如何建议设计一个类,因为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