objective-c – SceneKit中的自定义动画属性

我知道可以创建 custom animatable properties in Core Animation,但是在OS X 10.8的SceneKit框架中呢? SCNAnimatable似乎没有暴露出CALayer使属性具有动画效果的相同API.

在我的应用程序中,我有一个名为Starfield的SCNNode子类,我从一个旧的OpenGL应用程序通过使用SCNNodeRendererDelegate移植. Starfields公开了一个名为warpFactor的GLfloat属性

@interface Starfield : SCNNode<SCNNodeRendererDelegate> {
    // other stuff that's not really important for this question
    GLfloat warpFactor;
}

@property(nonatomic) GLfloat warpFactor;
@end

但是当我尝试添加动画时,就像这样:

CABasicAnimation *warp = [CABasicAnimation animationWithKeyPath:@"warpFactor"];
warp.tovalue = @1.0;
warp.duration = 5.0;
[starfield addAnimation:warp forKey:@"warp"];

我在控制台中得到以下内容

[SCNKit ERROR] warpFactor is not an animatable path (from <unnamed SCNNode 0x1016473c0,no children>)

我知道SceneKit是全新的,但有人碰巧知道如何使这项工作吗?

解决方法

SceneKit不支持自定义的可动画关键字

相关文章

对象的传值与返回说起函数,就不免要谈谈函数的参数和返回值...
从实现装饰者模式中思考C++指针和引用的选择最近在看...
关于vtordisp知多少?我相信不少人看到这篇文章,多半是来自...
那些陌生的C++关键字学过程序语言的人相信对关键字并...
命令行下的树形打印最近在处理代码分析问题时,需要将代码的...
虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特...