2014-10-20 59 views
0

這是我第三次嘗試解決runAction延遲完成問題。Sprite Kit runAction延遲,怪異的bug?

Iv'e做了一些測試,並得到了這麼多。我希望有人能告訴我是否有某種設置或其他因素造成這種延遲。

我開始了一個新的精靈套件項目,並添加了這個。它效果很好。平穩的運動。

但是,當我添加一個「英雄」節點和這個代碼到我現有的項目,它停止了一個毫秒之間的行動和完成。

有沒有人知道爲什麼?

-(void)loopTest { 
SKAction *move = [SKAction moveTo:CGPointMake(hero.position.x+32, hero.position.y) duration:0.7]; 
[hero runAction:move completion:^{ 
[self loopTest]; 
}]; 
} 
+0

哦,我明白了。由於完成塊在評估完幀後才運行,下一個操作將不會運行,直到下一幀。因此,您有一個節點停止的1幀延遲。嘗試使用runBlock操作而不是完成塊。 – LearnCocos2D 2014-10-21 09:37:27

+0

loopTest從didmovetoview調用一次,每次移動英雄一點。當動作結束時,再次調用loopTest並再次移動該英雄(僅用於測試)。毫秒不是一個精確的測量結果,但paus清晰可見,並且不會產生平滑的運動。 – 2014-10-21 09:39:07

+0

我更新了我的評論,刷新了瀏覽器中的頁面。 ;) – LearnCocos2D 2014-10-21 10:08:39

回答

1

我重建應用程序從頭開始(耗時...)但問題是presentScene ..

我用ResizeFill代替AspectFill。當我改變了它,沒有更多的凍結問題。

+0

這似乎解決了這個問題。 SKAction runBlock讓我的循環對象根本不顯示。 – Siriss 2015-02-28 01:46:37