2012-06-14 69 views
0

我有一個CCSprite對象,我需要儘快更新屏幕(x,y)的位置。這是一個增強現實應用程序,因此屏幕上的位置需要固定在真實世界的位置。動畫每次更新的CCSprite

目前,在每個update我檢查設備的航向和姿態然後通過確定新的x和y位置

相應地移動子畫面
[spriteObject setPosition:ccp(newX, newY)]; 

在標題的每個度變化對應於10個像素在屏幕上的位置,所以通過以這種方式設置位置,精靈以10個像素的間隔跳轉,這看起來很愚蠢。我想順利動畫,也許用

[spriteObject runAction:[CCMoveTo actionWithDuration:0.2f position:ccp(newX, newY)]]; 

但這裏的問題是,一個新的位置更新進來,而精靈是動畫和它像是螺絲了整個事情了。任何人都知道這個問題很好的解決方案?任何幫助都非常感謝,因爲我已經嘗試了很多失敗的解決方案。

回答

0

您可以試着將您的精靈動作製作爲動畫。我的意思是,您可以在一秒鐘內多次執行動畫位置更正,持續時間爲1/numberOfUpdates。像

- (void) onEnter 
{ 
    [super onEnter]; 
    [self schedule:@selector(updatePositionAnimated) interval:0.2f]; 

} 

- (void) updatePositionAnimated 
{ 
    [spriteObject runAction:[CCMoveTo actionWithDuration:0.2f position:ccp(newX, newY)]]; 
} 

東西,我想,你將有足夠的流暢的動畫在這種情況下