2

我正在使用适用于 iPhone 的 Appcelerator Titanium 开发一个简单的棋盘游戏(javascript - 这对这个问题并不重要)。

我的问题实际上并不是特定于语言的,它更多的是一般的编程和数学问题。

我有一个“单元格”网格,它是 10 列乘 10 行(100 个单元格)。这是一个棋盘游戏,如跳棋/选秀。

从顶部开始向下移动,行标记为“A”到“J”

从左侧开始向右移动,列标记为“0”到“9”

每个单元格为 32x32(像素)。

我可以在网格上/上方拖动一个标记,当我释放时,它会向我报告我释放位置的 x/y 坐标,例如:124,302。我可以在变量中使用这些坐标。

所以我的问题是,如何确定我释放的单元格的中心点,以便我可以将令牌置于该单元格的中心?

关于如何做到这一点的任何想法?

4

1 回答 1

2

使用整数除法“四舍五入”原始坐标。

x = (x / 32) * 32 + 16;
y = (y / 32) * 32 + 16;

因为数字是 2 的幂,所以您也可以使用位运算。

x = (x & ~0x1F) | 0x10;
于 2010-08-23T20:25:20.220 回答