【发布时间】:2014-05-11 13:35:27
【问题描述】:
基本上这是我喜欢做的事情:
-(void)didBeginContact:(SKPhysicsContact *)contact
{
uint32_t collision = (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask);
if (collision == (CNPhysicsCategoryCat|CNPhysicsCategoryBed)) {
_catNode.userData = [@{@"catOnBed":@(YES)} mutableCopy];
//Code here can let me wait for 3 seconds or something.
(_catNode.userData[@"catOnBed"])?[self win]:[self lose];
}
if (collision == (CNPhysicsCategoryCat|CNPhysicsCategoryEdge)) {
[self lose];
}
}
所以我希望在接触发生 3 秒后进行检测。
我尝试了 dispatch_time 方法,它返回“断点 2.1”给我。截图如下:
然后我也尝试了 performSelector 方法,它告诉我未声明的“detectContact...”
我也创建了方法,这是证据。
然后我尝试了SKAction序列方法(我认为这是关闭的)。它也失败了:
这是堆栈跟踪:
【问题讨论】:
-
看完后我觉得不是同一个问题,因为我在这里调用了一个方法,而这个问题是关于通过原始方法创建延迟。
-
我感觉你甚至不确定你在问什么。除了返回正确的错误和堆栈跟踪之外,您发布的断点图像基本上是无用的。
-
这里是堆栈跟踪:i.stack.imgur.com/9B9Tt.png
-
好的,越来越近了。左边的是堆栈跟踪,右边的是普通的汇编,除非你是魔术师,否则这是没用的。转到底部的控制台,并粘贴控制台输出,具体错误应该在那里。
标签: ios objective-c sprite-kit