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