我想知道是否在XNA中有一个统一的Vector3Int等价物。我不想使用Vector3将三个整数存储在一个结构中,但我不想创建自己的类。是否有Vector3的结构(如点<->向量2或矩形<->向量4)?
发布于 2019-04-23 02:01:14
答案是否定的。Point是System.Drawing和Rectangle的结转工具,可以帮助AABB进行碰撞。
在浮点数中存储整数的唯一警告(它们消耗的内存数量相同)是精度的可能损失,因为浮点数无法精确地存储某些值。在大多数情况下,这不是一个问题。浮点运算可能比整数运算慢。
我建议创建一个Vector3Int结构:
public struct Vector3Int
{
public int X;
public int Y;
public int Z;
public Vector3Int()
{
X = 0;
Y = 0;
Z = 0;
}
public Vector3Int(int val)
{
X = val;
Y = val;
Z = val;
}
public Vector3Int(int x, int y, int z)
{
X = x;
Y = y;
Z = z;
}
}这具有结构的优点,因为它存储在堆栈上。
https://stackoverflow.com/questions/55768627
复制相似问题