我有一個適用於Mac的SpriteKit遊戲我正在開發,我需要能夠檢查某些精靈節點何時低於某個Y軸。我目前使用此代碼:SpriteKit:檢查某個座標的精靈無法正常工作
-(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秒,併爲您的球體80. y位置下方。當我在程序中使用這種方法,往往不承認低於80的球體,有時在從父體中移除之前多次記錄相同的orb。我有多個在屏幕上移動的球體,這就是爲什麼它沒有按照我預期的那樣運行的原因嗎?
謝謝,任何幫助,將不勝感激。