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つのIf文を最初の1つの中に入れようとしましたが、依然として機能しません。
-55になるまで回転し、+55になるまで回転を開始し、これを繰り返します。
私はあなたの質問にいくつかの良い答えを持っていたが、受け入れられたとして、あなたがそれらのいずれかをマークしていない気づきました。合法的にあなたの答えが(答えの隣のチェックマークをクリックすることによって)助けられたら、そうすることを検討してください。それはあなたを助けるものに報いを与え、同時にあなたの評判を高め、同様の問題を持つ他のユーザーが良い答えを見つけるのを容易にします –