我有一个月球着陆器类型的游戏。我不使用任何物理引擎。 如果您不使用推进器并最终降落在地面上,我的着陆器会不断下降。地面是手绘的,它不是线条,更像是曲线,而地面可以是任何形状或颜色。 如何正确使用碰撞检测及其结果?什么碰撞检测方法用于手绘表面?
2
A
回答
3
那么这取决于你想要做什么。我会推荐以下选项之一:
使用物理引擎。他们在那里寻求某些东西。你可以创建不同的形状。你可以在一个矩形中混合使用,如果它们是直线,或者是很多圆形的曲线等。
使用你自己的定制圆碰撞检测器。你用一个包围盒大小的圆代表着陆器。然后,对于每个手绘线条,创建一组代表该线条的相邻圆。当你检查你的着陆器位置时,你基本上只是循环代表线条的圆圈并检查碰撞。传入伪
for (CollisionCircle* circle in collisions) { if (circle.collidesWith(lander.collisionCircle)) { // 1. Calculate edge distance from lander to circle (position + radius distance) // 2. Remove distance from lander position to fix position. } }
相关问题
- 1. 碰撞检测
- 2. 检测精灵之间碰撞的最佳方法是什么?
- 3. 碰撞检测不检测
- 4. OpenGL GL_SELECT或手动碰撞检测?
- 5. 碰撞检测和碰撞响应
- 6. Box2D仅适用于碰撞检测
- 7. Cocos2D碰撞检测
- 8. GameQuery碰撞检测
- 9. 检测墙碰撞
- 10. 检测碰撞JavaScript
- 11. Java碰撞检测
- 12. XNA碰撞检测
- 13. 碰撞检测Javascript
- 14. 碰撞检测Swift
- 15. Java游戏碰撞检测,(侧面碰撞)与矩形
- 16. 使用THREE.Raycaster检测碰撞
- 17. 用子弹检测碰撞
- 18. 使用列表进行碰撞检测
- 19. 碰撞检测的最佳方式是什么?
- 20. 关于在GLM碰撞检测网
- 21. 碰撞检测旋转立方体
- 22. 正方形碰撞检测iPhone
- 23. 非方形物体的碰撞检测
- 24. 碰撞检测代理方案
- 25. 怎么做碰撞检测在java中
- 26. Three.js - 用于碰撞检测的精确射线检测
- 27. java中的碰撞检测
- 28. Andengine TimerHandler和检测碰撞
- 29. 如何检测UIImageView碰撞
- 30. AS3:如何检测碰撞?
重要的一点应当明确:你的游戏允许降落在略微弯曲的表面(例如船舶略微倾斜到与着陆时的表面排列)?或者表面应该完全平坦以便着陆成功? – Mazyod 2012-08-05 18:07:23
@Mazyod着陆荚将是完全平坦的是 – Dvole 2012-08-05 19:39:58
哦,这解释了很多。让我试试看......但是,为了确定,你如何在代码中表示手绘线?我怀疑是否有一系列点连线?物理引擎的 – Mazyod 2012-08-06 02:57:01