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