【发布时间】:2014-01-16 19:43:27
【问题描述】:
我正在开发一个适用于 Mac 的 SpriteKit 游戏,我需要能够检查某些精灵节点何时低于某个 Y 轴。我目前正在使用此代码:
-(void) hitOrMiss {
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(),^{
if (orb.position.y < 80) {
NSLog(@"Miss!");
[orb removeFromParent];
}
[self hitOrMiss];
});
}
它意味着每 0.1 秒运行一个连续循环,并检查 y 位置 80 以下的球体。当我在我的程序中使用这种方法时,它通常不承认低于 80 的球体,有时会记录相同的orb 多次,然后将其从父级中删除。我有多个球体在屏幕上移动,这就是为什么它没有像我预期的那样始终如一地运行的原因吗?
谢谢你,任何帮助将不胜感激。
【问题讨论】:
标签: objective-c macos coordinates sprite-kit