嗨,我想知道如何创建一个圆形碰撞,也作为一个传感器。例如,当玩家输入敌方的半径时,敌人就会开始追逐玩家。 根据我所尝试的,我只使用了一个碰撞盒,它是RECT SpriteRect
。但是这对于这个圈子来说不够准确。我正在考虑通过使用D3DXVECTOR2
使用矢量,但我不善于转换。请帮助我如何实现此目的。 如何创建一个圆形碰撞检测? C++
1
A
回答
6
点(xa,ya)在(xc,yc)的圆内半径r?
还记得毕达哥拉斯吗? - 它确定两点之间的距离,并且确定某个半径的圆内是否有某物需要确定到圆心的距离是否小于半径:
bool IsPointInCircle(float xa, float ya, float xc, float yc, float r)
{
return ((xa-xc)*(xa-xc) + (ya-yc)*(ya-yc)) < r*r;
}
两个圆之间的碰撞检测同样简单,只需将'r'作为两个圆的半径之和即可。因为这是两个中心接触时的距离。
要在正方形和圆形之间进行碰撞检测,您需要计算从线到点的距离。圆形几乎是最容易做碰撞检测的形状。
相关问题
- 1. 矩形和圆形碰撞检测
- 2. 圆矩形碰撞检测完成exampe
- 3. 圆和矩形的碰撞检测
- 4. 如何检测椭圆是否与另一个椭圆/矩形碰撞
- 5. 检测正方形的哪一侧与碰撞检测碰撞
- 6. 如何在Monogame中创建一个圆形变量并检测与其他圆/矩形的碰撞
- 7. 圆圈的碰撞检测
- 8. 圆弧的碰撞检测
- 9. Java圆圈碰撞检测
- 10. 如何获得圆形和三角形的碰撞检测
- 11. pygame的 - 碰撞检测与两个圆
- 12. Java - 形状碰撞检测
- 13. 碰撞检测Libgdx矩形
- 14. C++ 2D多边形碰撞检测
- 15. C++车削矩形的碰撞检测
- 16. 如何检测形状碰撞 - Android
- 17. Android:如何检测两个圆圈之间的碰撞
- 18. 圆形扇区和矩形之间pygame碰撞检测?
- 19. 圆形和多边形之间的Javascript碰撞检测?
- 20. 用圆圈检查矩形碰撞
- 21. 如何检测两个圆之间的碰撞点,然后创建一个矢量来更新圆的位置?
- 22. 圆形碰撞中的圆形
- 23. easeljs检测碰撞两个矩形
- 24. 如何检测椭圆与圆相交(碰撞)
- 25. LibGDX,如何创建2d碰撞地形
- 26. 圆弧和线段碰撞检测
- 27. 圆碰撞检测HTML5画布
- 28. 碰撞检测:圆角对象
- 29. Libgdx旋转椭圆碰撞检测
- 30. 用圆弧碰撞检测球
我喜欢你的绘画:) – Quest 2014-12-07 11:59:11
@Quest哈哈哈,这只是一个概念。没有制作真正的游戏。只是学习。我以前使用stencyl做过一个。超级简单,因为它都是拖放。所以现在我尽我所能学习C++尽可能多:)如果你喜欢,请看看它:[Lost Dungeon](http://www.kongregate.com/games/yawnm3/lost-dungeon) – Student 2014-12-07 12:02:13