【发布时间】:2014-05-07 14:07:20
【问题描述】:
我在SKPhysicsBody 中添加了一些方便的方法,以便在SKPhysicsContactDelegate 类的didBeginContact 方法中更轻松地处理它们。
@interface SKPhysicsBody (MyCategory)
-(void)convenience;
@end
似乎委托使用了不同的类型,然后记录在案。当我尝试在 didBeginContact 中使用这种便捷方法时,我得到了一个异常。
尝试以下测试代码时
-(void)didBeginContact:(SKPhysicsContact *)contact {
NSLog(@"%@, %d", [contact.bodyA class], [contact.bodyA isKindOfClass:[SKPhysicsBody class]]);
}
它会记录
PKPhysicsBody, 0
PKPhysicsBody 是(私有)PhysicsKit 框架的一部分。
虽然SKPhysicsContact 文档明确指出
bodyA
The first body in the contact. (read-only)
@property(readonly, nonatomic) SKPhysicsBody *bodyA
有没有办法解决这个问题,所以我仍然可以使用 SKPhysicsBody 类类别?还是我误解了某些东西,这是预期的行为吗?
【问题讨论】:
标签: ios sprite-kit skphysicsbody skphysicscontact