【发布时间】:2012-08-27 03:50:31
【问题描述】:
我想将对象位置与网格对齐。 例如,如果我的对象位置是 (102, 93) 并且 我的网格大小是 10 对齐位置(多个)必须是 (100, 90)。 我的程序经常这样做。
目前我正在使用这个:
inline int Align(int value, int size)
{
return (value - (value % size));
}
然后,当对象位置发生变化时,我会这样做:
this->m_x = Align(new_x, GRID_SIZE);
this->m_y = Align(new_y, GRID_SIZE);
我的问题是: 这是将对象与网格对齐的好方法吗?
% 操作符很快(我经常使用它)?
如果我使用 float 而不是 int 我可以做些什么来对齐位置?
【问题讨论】:
-
你为什么还要考虑使用浮点数——假设你正在对齐像素——因为你不能有一个像素的一小部分
-
@AdrianCornish 我会考虑的。但我必须对齐 5*n 值(n > 2)。
-
所以 - 你仍然无法对齐到半个像素