2015-01-07 2 views
0

Я пытаюсь запустить анимацию из .dae файла (файл модели 3D) только один раз, это мой код:Запуск SCNNode анимацию только один раз на Scene Kit

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:, но он даже не вызван, есть что-то странное при использовании CAAnimations на SCNNodes из анимаций DAE.

Есть ли способ сделать это?

Заранее спасибо.

+1

Повторяется ли анимация? Проверьте 'repeatCount' и' repeatDuration'. –

+0

@ DavidRönnqvist Я установил repeatCount на 1, и он сделал это только один раз! Спасибо. Можете ли вы установить его как ответ? Или я должен это делать? –

ответ

2

Ваша анимация, скорее всего, будет повторяться. Проверьте недвижимость repeatCount, чтобы увидеть, больше ли она 1. Установка его на 1 будет повторять анимацию один раз, но вы также можете установить ее на 0, чтобы игнорировать ее. Если это не так, вы можете посмотреть свойство repeatDuration и установить его в 0 (чтобы игнорировать его), если его еще нет.

Смежные вопросы