检查来自不同类的两个Rect之间的冲突

Check collision between two Rects from different classes

本文关键字:两个 Rect 冲突 之间 同类 检查      更新时间:2023-10-16

我有两个类,第一个是Foo,它有坐标、速度和函数,第二个是Balloon,它有类似的东西。我想检查它们之间的碰撞,我的collision_check函数工作得很好,它不属于任何类。两个类(Foo和Balloon)都在各自的类中定义了坐标。第一种方法:我也试着把它们的SDL_Rect放在它们的类中,但当我在main()中调用collision_check时,它找不到SDL_Rect,因为它们在类中。第二种方法:所以我试着把SDL_Rects放在main()中定义它们,但我不能把foo的坐标分配给它们,因为坐标变量在类中。第三种方法:然后我试图将坐标变量移出类,但后来所有的函数都不起作用,因为它们也在类中。如何使用collapse_check函数。。。。。我被卡住了。试着简单地为那些编码不到4个月的人解释一下。

您应该创建一个"AbstractCollisionObject"类型,它是一个抽象类。然后继承它以创建BoundingBoxCollisionObject和CircleCollisionObject。

在函数collision_check中,您获取2个AbstractCollisionObjects并进行测试。

场景中处理的每个元素都应该关联一个AbstractCollisionObject。