【发布时间】:2012-04-29 03:07:48
【问题描述】:
我正在 Objective-c 中创建一个游戏,需要检测两个对象何时与帧相交。
我通常会使用
检测到这一点if (CGRectIntersectsRect(object1.frame, object2.frame)) {/*do something*/}
我唯一的问题是我为每个对象创建了单独的类文件。我在class1中有object1,在class2中有object2,所以我无法访问class2中的object1。
我尝试将对象作为参数传递,但收到强 id 错误,因此我假设不允许传递对象。如何访问 class2 中的 object1.frame?我还是objective-c的新手,所以我会很感激任何建议!提前致谢,如果您需要更多信息,请告诉我。
编辑:抱歉含糊不清,我不是很清楚。我在 class1.h 中声明了 UIImageView 或“object1”,并在整个 class1.m 文件中使用。
我有另一个类,我在 class2.h 和 class2.m 中声明了另一个 UIImageView“object2”。在 class2.m 文件中的某一时刻,我需要查看 object1 和 object2 是否相交。
【问题讨论】:
-
"我在 class1 中有 object1,在 class2 中有 object2,所以我无法访问 class2 中的 object1。"
-
你
#import必要的类接口文件了吗? -
“我尝试将对象作为参数传递,但收到强 id 错误”
-
为什么要为每个对象创建“单独的类文件”???您可以从单个类文件创建一百万个对象。
-
无论 object1 和 object2 是同一个类还是不同的类,您仍然需要对两者具有可寻址性以检查相交。它们是两个不同的类这一事实几乎不会影响任何事情,除了您应该适当地声明指针这一事实。
标签: objective-c class