|
|
1
2
对于你想做的事情,有几种不同的方法。你提到过碰撞检测:你想确定一个点是否与形状相交,还是想确定两个多边形是否相交? 如果你想要一个点,你要找的是所谓的“点在多边形测试”。有许多不同的方法,但最快和最直接的方法之一是射线测试。从点创建光线,并计算它穿过边缘的次数。如果数字是偶数,则该点位于外部。如果很奇怪的话,关键就在里面。 你可以在这里找到一篇好文章: http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html 本文中的代码实现如下所示:
确定两个多边形是否相交更为复杂,但并非完全不同。很多游戏实际上只是检查多边形的角点,用点在多边形中是容易和便宜的,但也可以检查完整的交叉点。 一种方法是将每个边视为一个分割平面/半空间。半空间的相交决定了两个多边形是否相交。 尝试寻找“分离轴定理”。 |
|
|
2
0
Ziggyware(原名www.ziggyware.com)有一个关于二维多边形碰撞检测的教程,但ZW似乎正在搬往新家。 Here's a video 不过,教程的外观如何。 |
|
|
Ruslan · 如何在单游戏中使用或制作“效果”? 8 年前 |
|
|
MyNameIsGuzse · 找不到C#静态类 8 年前 |
|
|
John Tran · 有人能告诉我为什么这样不行吗?C#XNA 9 年前 |
|
|
PÅemysl Novák · 单博弈-等距图块,大地图上的低FPS 9 年前 |
|
|
TS1997 · 带有winforms的单游戏 10 年前 |
|
|
Joe Smith · 旋转固定在精灵上的Vector2 10 年前 |
|
|
jacksparrow · C#XNA-遍历项目并绘制它们 11 年前 |
|
|
user2056166 · 在xna上绘制圆段 11 年前 |