【问题标题】:Running a SCNNode animation just once on Scene Kit在 Scene Kit 上只运行一次 SCNNode 动画
【发布时间】:2015-03-04 23:28:38
【问题描述】:

我试图从 .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: 方法检测它,但它甚至没有被调用,使用@ 时有些奇怪987654324@ on SCNNodes来自 DAE 动画。

有什么办法吗?

提前致谢。

【问题讨论】:

  • 动画是否在重复?检查repeatCountrepeatDuration
  • @DavidRönnqvist 我将 repeatCount 设置为 1 并且它只执行了一次!谢谢你。您可以将其设置为答案吗?还是我应该这样做?

标签: objective-c animation 3d scenekit scnnode


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2013-02-12
    • 2014-12-17
    • 2015-03-01
    • 2019-07-28
    • 2016-05-28
    相关资源
    最近更新 更多