我卡住了,不知道为什么。这是我目前的代码:
if(rigidbody2D.velocity.y >= 1 && transform.rotation.z < 90)
{
rigidbody2D.angularVelocity = 200f;
}
else if (rigidbody2D.velocity.y < 0 && transform.rotation.z > -90)
{
rigidbody2D.angularVelocity = -200f;
}
除了 transform.rotation.z 部分之外,它都正常工作,它完全忽略了它,就好像它不存在一样。
我想要的是:
如果物体速度大于一(即向上移动)并且物体旋转小于 90°,则将角速度设置为 200f。
否则,如果物体速度小于 -1(即向下移动)并且物体旋转大于 -90°,则将角速度设置为 -200f。
最佳答案
rotation
值是四元数而不是度数。您可能想使用 eulerAngles获得度数的旋转。
所以你可以使用类似的东西:
transform.eulerAngles.z < 90
你不应该使用负值,而不是 -90
使用 270
:
transform.eulerAngles.z > 270
关于c# - 如果(transform.rotation.z < 90)不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710358/