Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 节点不旋转?_Swift_Rotation_Scenekit - Fatal编程技术网

Swift 节点不旋转?

Swift 节点不旋转?,swift,rotation,scenekit,Swift,Rotation,Scenekit,当我运行应用程序时,节点不会旋转。无论我将旋转更改为什么,节点都将保持为“0,0,0,0” class CustomSCNNode: SCNNode { var positionToSlideFrom = SCNVector3Zero convenience init(geometry: SCNGeometry, initialPosition: SCNVector3, rotation: Float) { self.init() self.geometry = geom

当我运行应用程序时,节点不会旋转。无论我将旋转更改为什么,节点都将保持为“0,0,0,0”

class CustomSCNNode: SCNNode {



var positionToSlideFrom = SCNVector3Zero

convenience init(geometry: SCNGeometry, initialPosition: SCNVector3, rotation: Float) {
    self.init()
    self.geometry = geometry
    self.position = initialPosition
    self.positionToSlideFrom = initialPosition
    self.rotation.y = rotation


}

}
//节点传递到要由用户移动的GeometryNodes中。这就是什么都不发生的地方

class GeometryNodes {


let sphere = CustomSCNNode(geometry: SCNSphere(radius: 0.05), initialPosition: SCNVector3(0,1.3,0), rotation: -45)

func addNodesTo(_ parentNode: SCNNode) {
    sphere.rotation.y = -45
    parentNode.addChildNode(sphere)

}

func slideFunction(_ node: CustomSCNNode, translation: Float) {
    //Can't add anything yet due to rotation not working

  }
func slideFunction2(_ node: SCNNode, translation: Float) {

    node.position.z =  translation
    //node.position.x =  translation

}

func slide(xTranslation: Float) {

    slideFunction(sphere, translation: xTranslation)
}
func slide2(zTranslation: Float) {
    //let gameScene = BallScene()
    slideFunction2(sphere, translation: zTranslation)

}

}

要围绕Y轴应用45度旋转,需要将旋转指定为:

self.rotation = SCNVector4Make(0, 1, 0, 45 * M_PI / 180.0)
同样,如果绕X或Z轴旋转,请确保正确表示XYZ轴

或者,也可以使用“属性”指定旋转,如下所示:

self.euelerAngles = SCNVector3Make(0, 45 * M_PI / 180.0, 0)