Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.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
Ios 如何阻止角色在zRotation约束下过度旋转?_Ios_Swift_Swift3_Sprite Kit - Fatal编程技术网

Ios 如何阻止角色在zRotation约束下过度旋转?

Ios 如何阻止角色在zRotation约束下过度旋转?,ios,swift,swift3,sprite-kit,Ios,Swift,Swift3,Sprite Kit,我在一个平台游戏中有一辆车,我想让它能够旋转,这样它就可以翻滚上山等等。我想限制我的车辆在正负方向上旋转30度 问题是,当我启用了旋转功能并从悬崖或直边跌落时,我的车辆会从侧面翻转,并头部着地。我一直在寻找一种方法,将zRotation限制在每个方向上的一定数量的度 我尝试使用本教程中的IK约束部分:在我的更新函数中,但没有效果 然后我发现: 这似乎正是我需要的,但我不太明白如何实现它。任何建议都将不胜感激 这应该可以做到: let thirtyDegrees = CGFloat(0.523

我在一个平台游戏中有一辆车,我想让它能够旋转,这样它就可以翻滚上山等等。我想限制我的车辆在正负方向上旋转30度

问题是,当我启用了旋转功能并从悬崖或直边跌落时,我的车辆会从侧面翻转,并头部着地。我一直在寻找一种方法,将zRotation限制在每个方向上的一定数量的度

我尝试使用本教程中的IK约束部分:在我的更新函数中,但没有效果

然后我发现:


这似乎正是我需要的,但我不太明白如何实现它。任何建议都将不胜感激

这应该可以做到:

  let thirtyDegrees = CGFloat(0.523599) // Convert degrees to rads.

  let rotationRange = SKRange(lowerLimit: -thirtyDegrees, upperLimit: thirtyDegrees)

  let rotationConstraint = SKConstraint.zRotation(rotationRange)

  let vehicle = SKSpriteNode()

  vehicle.constraints = [rotationConstraint]

使用
zRotation
属性时,请确保为其指定了一个弧度值。。。如果这不是问题,发布相关代码..我不知道我需要什么代码。我知道zRotation以弧度为单位,但IK约束以度为单位。我更感兴趣的是如何使用苹果的zRotation函数来限制旋转。我把它放在我的播放器类中,它工作得非常好。非常感谢。