XNA - 为什么它使用Vector2而不是Point?

Rya*_*ndy 10 .net xna vector

我已经习惯了WinForms图形,但我一直在尝试使用XNA,我注意到的一件事是该Point对象不是很有用,而且似乎并没有被大量使用.对于定位,各种SpriteBatchDraw方法使用a Rectangle或a Vector2.并且Vector2有很多有用的静态和实例方法,而Point除了X和Y属性之外基本没有.

为什么XNA使用a Vector2来表示位置而不是Point?我意识到他们都有一个X和一个Y,但在语义和逻辑上,使用a Vector2而不是a Point来表示位置对我来说没有任何意义.(例如,如果你标准化Vector2,突然你有一个不同的位置!)

这看起来很奇怪,还是我错过了什么?

Bli*_*ndy 17

即使假设Point使用浮动值,你会给"一起加2点"赋予什么意义?现在,向更新位置添加向量是一个很好理解和广泛使用的概念,因此向量可以更好地描述虚拟世界中的位置和速度.