gpt4 book ai didi

swift - SceneKit eulerAngles 是 Fl​​oats 还是 CGFloats?

转载 作者:行者123 更新时间:2023-11-30 10:06:33 26 4
gpt4 key购买 nike

根据SceneKit API,欧拉角作为SCNNode的属性,是SCNVector3。 SCNVector3 是 { CGFloat x, y, z: } 。但是,当我尝试将 CGFloat 分配给节点的 eulerAngle 属性时,Xcode 声称我正在尝试分配类型“Float”。这是我的 panGesture 的片段处理程序:

    baseNode.eulerAngles.x = newAngleX

我可以通过转换为 Floats 来避免这种情况,但我很好奇,特别是因为 SCNVector3 似乎仍然接受 CGFloats。

最佳答案

你是对的,文档是错误的。直接来自 SceneKit/SceneKitTypes.h:

typedef struct SCNVector3 {
float x, y, z;
} SCNVector3;

除其他外,这意味着无论目标如何,它们都是 32 位的,这与 CGFloat 不同。因此,尽管命名相似,但这不仅仅是一个 typedef 问题——Swift 想要显式强制转换是正确的。

关于swift - SceneKit eulerAngles 是 Fl​​oats 还是 CGFloats?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35611646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com