在Scene Kit上只运行一次SCNNode动画

时间:2015-01-07 05:51:33

标签: objective-c animation 3d scenekit scnnode

我正在尝试从.dae文件(3D模型文件)运行一次动画,这是我的代码:

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动画的CAAnimations上使用SCNNodes时很奇怪。

有没有办法做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您的动画可能配置为重复。检查repeatCount属性,看它是否大于1。将其设置为1将重复动画一次,但您也可以将其设置为0以忽略它。如果不是这样,你可以查看repeatDuration属性并将其设置为0(忽略它),如果它还不是0。

相关问题