我正在使用 Canvas 在 JavaScript 中开发游戏。有问题的精灵水平或垂直移动(但不能同时移动) 游戏区域被划分为 16 x16 像素单元(与精灵大小相同)以进行碰撞。我正在从左上角(不是中心)绘制精灵。我已经研究出如何检测精灵是否跨越了一个新的单元格。
var modX = sprite.x % 16;
var modY = sprite.y % 16;
if (modX == 0 && modY == 0)
{
// Sprite has entered new cell. Do appropriate functions
}
我现在需要在精灵位于单元格中间时进行计算,这让我有点头疼,因为它与上面的不同并增加了半个单元格宽度......我希望有人能帮助一些伪代码。请记住:我是一名艺术家,试图使用 javascript 让自己变得更好——所以对我来说放轻松,好吧。