XNA Rectangle.Center未返回预期值

时间:2013-09-16 04:10:09

标签: c# xna center

我有一个{X:100 Y:60 Width:37 Height:58}

的矩形

Rectangle.Center正在返回{X:118 Y:89}

我希望它返回{X:15.5 Y:44.5}(不是特别包括小数),它是矩形宽度和高度的一半。

我无法弄清楚它在这里做了什么。这么简单的问题。怎么了?

1 个答案:

答案 0 :(得分:2)

该属性返回正确的结果。你为什么期望X = 15.5和Y = 44.5? Rectangle.Center将返回矩形的中心(正如人们所期望的那样)。该中心等于:

{X + (width/2), Y + (height/2)}

插入给定值会导致:

{100 + (37/2), 60 + (58/2)}
{100 + 18.5, 60 + 29}
{118.5, 89}

由于矩形使用int,因此将118.5舍入为118,得出最终答案:

{118, 89}

请扩展您的问题,了解为什么会出现任何不同的结果?