我有两个类,第一个是 Foo,它有坐标、速度和函数,第二个是 Balloon,里面有类似的东西。我想检查它们之间的碰撞,我有 collision_check 函数工作正常,它不属于任何类。两个类( Foo 和 Balloon )都在各自的类中定义了坐标。第一种方式:我也尝试将他们的 SDL_Rects 放入他们的类中,但是当我在 main() 中调用 collision_check 时,它找不到 SDL_Rects,因为它们在类中。第二种方式:所以我尝试将 SDL_Rects 放在 main() 中并定义它们,但是我无法将 foos 的坐标分配给它们,因为坐标变量在类中。第三种方式:然后我尝试将坐标变量移出类,但是所有函数都不起作用,因为它们也在类中。我怎样才能使用 collide_check 功能.....我卡住了。尝试为编码不足 4 个月的人简单地解释一下。
最佳答案
您应该创建一个抽象类“AbstractCollisionObject”类型。 然后继承它创建BoundingBoxCollisionObject和CircleCollisionObject。
在您的函数 collision_check 中,您获取 2 个 AbstractCollisionObjects 并进行测试。
您在场景中处理的每个元素都应该关联一个 AbstractCollisionObject。
关于c++ - 检查来自不同类的两个 Rect 之间的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34515755/