代码之家  ›  专栏  ›  技术社区  ›  shinjuo

使用OpenGL进行二维碰撞检测和填充

  •  0
  • shinjuo  · 技术社区  · 15 年前

    我正在做一个简单的2d OpenGL项目。它包含一个可以用键盘箭头控制的主要参与者。我把它做好了。我想要的是一些可以帮助解释如何使另一个演员对象跟随主要演员的东西。也许是关于OpenGL的教程。我需要学习的三个主要内容是演员跟踪、碰撞检测和某种创造重力的方法。任何能帮助我找到正确方向的好书或教程都是很好的。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Marcelo Cantos    15 年前

    你可以用物理图书馆 Chipmunk Physics 它允许您在两个对象之间附加弹簧和物体,并检测它们何时相互碰撞以及其他物体。

        2
  •  2
  •   Michael Dorgan    15 年前

    一个预滚动的库是很好的,但是您描述的概念是您需要知道的,如果您要做任何类型的游戏编程:

    让一个演员跟在另一个演员后面的一个简单方法是让主角在每次移动时都存储其位置。将这些位置反馈给具有几个值的延迟的后续参与者-延迟越长,它们的移动距离就越远。简单,但不处理动态碰撞(其他参与者移动块碰撞)。

    在二维碰撞检测可以简单地轴对齐(aa)边界框。搜索这个,您将看到所需的4个左右的IFS。

    重力只是在每个游戏循环中给每个物体增加一个固定的速度(通常是向下的)。这是恒定加速度,这正是重力的工作原理。