Hen*_*-95 1 c# unity-game-engine
我被困住了,不知道为什么.这是我目前的代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
除了transform.rotation.z之外,它完全正常工作,它完全忽略了它就好像它不存在一样.
我想要的是:
如果物体速度大于1(即向上行进)并且物体旋转小于90°,则将角速度设定为200f.
否则,如果物体速度小于-1(即向下行进)并且物体旋转超过-90°,则将角速度设定为-200°F.
该rotation值是在程度和四元数不是.您可能希望使用eulerAngles来获得度数的旋转.
所以你可以使用类似的东西:
transform.eulerAngles.z < 90
Run Code Online (Sandbox Code Playgroud)
您不应该使用负值,而不是-90使用270:
transform.eulerAngles.z > 270
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4225 次 |
| 最近记录: |