【发布时间】:2010-04-26 03:33:23
【问题描述】:
我正在开发一个简单的 2D openGL 项目。它包含一个可以用键盘箭头控制的主要角色。我让它工作正常。我想要的是可以帮助解释如何使另一个演员对象跟随主要演员的东西。也许是关于openGL的教程。我需要学习的三个主要内容是演员跟随、碰撞检测和某种创建重力的方法。任何能帮助我找到正确方向的好书或教程都会很棒。
【问题讨论】:
标签: c++ opengl collision-detection
我正在开发一个简单的 2D openGL 项目。它包含一个可以用键盘箭头控制的主要角色。我让它工作正常。我想要的是可以帮助解释如何使另一个演员对象跟随主要演员的东西。也许是关于openGL的教程。我需要学习的三个主要内容是演员跟随、碰撞检测和某种创建重力的方法。任何能帮助我找到正确方向的好书或教程都会很棒。
【问题讨论】:
标签: c++ opengl collision-detection
您可以使用像 Chipmunk Physics 这样的物理库,它可以让您在两个物体之间附加弹簧和物体,并检测它们何时相互碰撞以及其他物体。
【讨论】:
一个预卷库会很好,但是如果你要进行任何类型的游戏编程,你所描述的概念是你需要知道的:
让一个演员跟在另一个演员后面的一个简单方法是让主角在每次移动时存储其位置。将这些位置以几个值的延迟提供给尾随 Actor - 延迟越长,它们移动得越远。简单,但不处理动态碰撞(其他角色移动块碰撞。)
2D 中的碰撞检测可以简单地使用轴对齐 (AA) 边界框。搜索此内容,您将看到所需的 4 个 if 左右。
重力只是在每个游戏循环中为每个对象添加一个固定的速度(通常是向下的)。这是恒定的加速度,这正是重力的工作原理。
【讨论】: