2014-03-30 48 views
0

我的Sprite在屏幕上跳轉,看起來很遲鈍。我想知道如何使運動更順暢,而不是如此緩慢。我用於移動的代碼如下。目標C中的平滑移動

birdMovement = [NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(birdMoving) userInfo:nil repeats:YES]; 
TunnelMovement = [NSTimer scheduledTimerWithTimeInterval:0.08 target:self selector:@selector(tunnelMoving) userInfo:nil repeats:YES]; 

回答

0

您應該使用SKAction類而不是NSTimer。

+0

我是否會像使用NSTimer一樣執行它? – user2464778

+0

@ user2464778,如下所示:[SKAction moveTo:CGMakePoint(100,100)duration:2.0]。創建一個SKAction之後,你可以像這樣在你的sprite節點上運行這個動作:[node runAction:action] – AndrewShmig

0

如果你正在編寫你的第一個遊戲,你應該使用SpriteKit。它爲你處理了很多類似的東西。請務必在開始之前完整閱讀文檔,以便了解它是如何工作的。

+0

所以不可能再實現SKAction,因爲不是View而必須是Scene。還有一種使運動順暢的方法嗎? – user2464778

+0

如果你不想使用SpriteKit,你最好打賭就是查看CADisplayLink。 https://developer.apple.com/library/ios/documentation/QuartzCore/Reference/CADisplayLink_ClassRef/Reference/Reference.html – nsdebug