2015-01-07 52 views
0

我試圖運行從.dae文件(3D模型文件)的動畫只有一次,這是我的代碼:在現場套件運行SCNNode動畫只是一次

SCNNode *object = (SCNNode*)[self getMyPlayerObject]; 
NSString *key = @"hit"; 
CAAnimation *animation = [_animations[key] copy]; 
[animation setSpeed:1]; 
[animation setTimeOffset:0]; 
[object addAnimation:animation forKey:key]; 

我已經嘗試使用animation.removedOnCompletion = YES;但無法正常工作,我嘗試設置一個委託並嘗試使用animationDidStop:finished:方法檢測它,但它甚至沒有被調用,在DAE動畫的SCNNodes上使用CAAnimations時出現了一些奇怪現象。

有沒有辦法做到這一點?

在此先感謝。

+1

動畫是否重複?檢查'repeatCount'和'repeatDuration'。 –

+0

@DavidRönnqvist我把repeatCount設置爲1,它只做了一次!謝謝。你可以把它作爲答案嗎?或者我應該這樣做? –

回答

2

您的動畫可能配置爲重複。檢查repeatCount屬性以查看它是否大於1。將其設置爲1將重複一次動畫,但您也可以將其設置爲0以忽略它。如果不是這樣,您可以查看repeatDuration屬性,如果它不是0,則將其設置爲0(忽略它)。