平台倾斜角度检测

可能重复:
如何计算2D位图地形上某一点的斜坡角度?

我打算用自己的小引擎做一个平台游戏,我需要知道如何检测一个斜坡的角度。 任何帮助表示赞赏。

你需要知道2点来计算一个斜率,在这个例子中你有两个点p1p2 。 你用毕达哥拉斯定理来计算它。

 // Delta X and Y dx = p1.x - p2.x; dy = p1.y - p2.y; // Calculate the angle slope = Math.atan2(dy,dx); // Convert the angle to degrees slope = slope * 180 / Math.PI; 

你有两个select,这取决于你打算如何去做你的游戏的碰撞检测。

如果您的关卡的碰撞数据可以表示为线段(或可以分解成线段的其他形状),则可以使用atan2来查找Thomas所建议的每个线段的端点之间的角度。

如果您的游戏是基于图块的,则每个图块可能会包含您手动创建的碰撞数据。 (例如瓷砖types,斜坡角度等)