0
我正在尝试做一个旋转的大炮,它可以前后旋转。 我想限制旋转从-55到55(我的意思是transform.position.z),但我不能让它工作。Unity 2D - 旋转物体并限制旋转
就目前我的代码是:
public class Cannon : MonoBehaviour
{
bool hit = false;
void Update()
{
float angle = transform.rotation.z;
if (angle > -55 & angle < 55 & !hit)
{
transform.Rotate(Vector3.back * Time.deltaTime);
}
if (angle <= -55)
{
transform.Rotate(Vector3.back * Time.deltaTime);
hit = true;
}
if (angle >= 55)
{
transform.Rotate(Vector3.forward * Time.deltaTime);
hit = true;
}
}
}
唯一觉得工作是我的开始旋转对象所做的第一旋转,所以它只是旋转回来,不停止,它似乎是无视“角度”
我也试图把最后2如果语句,内第一个,但仍然无法正常工作。
我想让它旋转直到它碰到-55,然后开始旋转直到碰到+55并重复这个。
我注意到你有一些好的回答您的问题,但作为接受你没有标明任何人。如果答案合法地帮助了您,请考虑这样做(通过点击答案旁边的勾号)。它奖励那些帮助你的人,同时增加你的声望,并且使其他有类似问题的用户更容易找到好的答案 –