给定值:
宽度和高度相等
所有单元格大小相同
独立于单元的随机点(x y)cellX
,cellY
可以为负
例:
pointX = 20;
pointY = 40;
cellDefaultSize = 32;
结果:
cellX = 0;
cellY = 32;
我尝试过-
cellX = pointX - pointX % cellDefaultSize;
有使用Math的解决方案吗?
编辑:
我使用的公式仅适用于正数
pointX / pointY
。如果pointX / Y
为负,则单元格恰好位于我期望的cellDefaultSize
位置。我找到了使用
if
语句的解决方案-if (x < 0) cell.x = x - x % cellSize - cellSize;
else cell.x = x - x % cellSize;
if (y < 0) cell.y = y - y % cellSize - cellSize;
else cell.y = y - y % cellSize;
最佳答案
这应该为您工作。
cellX = Math.floor(pointX/cellDefaultSize);
cellY = Math.floor(pointY/cellDefaultSize);
关于java - 用随机点计算单元格在网格中的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37821253/