這是我第三次嘗試解決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];
}];
}
哦,我明白了。由於完成塊在評估完幀後才運行,下一個操作將不會運行,直到下一幀。因此,您有一個節點停止的1幀延遲。嘗試使用runBlock操作而不是完成塊。 – LearnCocos2D 2014-10-21 09:37:27
loopTest從didmovetoview調用一次,每次移動英雄一點。當動作結束時,再次調用loopTest並再次移動該英雄(僅用於測試)。毫秒不是一個精確的測量結果,但paus清晰可見,並且不會產生平滑的運動。 – 2014-10-21 09:39:07
我更新了我的評論,刷新了瀏覽器中的頁面。 ;) – LearnCocos2D 2014-10-21 10:08:39