我有两个类,第一个是Foo,它有坐标,速度和功能,第二个是气球,里面有类似的东西。我想检查它们之间的碰撞,我让collision_check函数正常工作,并且它已经属于任何类。两个类(Foo和Balloon)的坐标都在各自的类中定义。第一种方式:我试图将他们的SDL_Rects放在他们的类中,但是当我在main()中调用collision_check时,它无法找到SDL_Rects,因为它们在类中。第二种方式:所以我试着放入SDL_Rects并在main()中定义它们,但是我不能给它们分配foos的坐标,因为坐标变量在类中。第三种方式:然后我尝试将坐标变量移出类,但是所有函数都不起作用,因为它们也在类中。我怎样才能使用collide_check函数.....我被卡住了。尝试仅为那些编码时间不足4个月的人解释它。
答案 0 :(得分:1)
你应该创建一个" AbstractCollisionObject" type是一个抽象类。 然后继承它以创建BoundingBoxCollisionObject和CircleCollisionObject。
在你的函数collision_check中,你获取2个AbstractCollisionObjects并进行测试。
您在场景中处理的每个元素都应该有一个AbstractCollisionObject相关联。