繁体   English   中英

简单的二维碰撞检测 c++

[英]simple 2D collision detection c++

我对这一切有点陌生,但我想在 c++ 中让自己成为一个简单的 2D 游戏。我决定做一种迷宫类型的游戏,我正在做的是把迷宫画成纹理,然后当我的角色在这个迷宫中四处移动时,会有另一种纹理。

然而,我在碰撞检测方面非常挣扎,这样我的角色就不会只是穿过墙壁。 有人告诉我可以使用 glReadPixels 来查找背景的颜色,但每当我尝试这样做时,它都会忽略颜色并继续穿过墙壁。

谁能帮我解决这个问题并告诉我该怎么做,因为我在任何地方都找不到任何可以提供帮助的东西。 提前致谢。

根据迷宫类型,如果你只有单位长度的垂直和水平墙壁,你可以在二维数组/矩阵中表示迷宫和当前 position,并根据新的内容决定新的 position 是否可以进入position 在迷宫矩阵中。

您将不得不在矩阵坐标和屏幕坐标之间进行一些转换

优点:

  • 你不需要从屏幕上阅读
  • 迷宫可以比屏幕上显示的更大——只绘制相关部分

缺点:

  • 你只能有“bolck”类型的地形(例如垂直/水平墙)
  • 如果你想添加移动的敌人,碰撞检测可能太粗糙(你不能“仅仅通过头发/像素”来避免怪物)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM