向鼠标旋转受限

时间:2018-01-06 13:18:49

标签: c# unity3d rotation 2d mouse-position

我有2D游戏(统一,c#脚本), 潜艇的位置在哪里 (父) (子)

look at the screenshot

  • 塔可以围绕潜艇体旋转(当我按A或D时)。 (工作正常)
  • 问题 塔上的喷枪应朝向鼠标旋转 ,但仅限于角度限制。角度限制(通过父级)现在可以正常工作,但枪不会看向鼠标。


    void Update() {
     Vector3 mousePosition = Input.mousePosition;

     mousePosition = Camera.main.ScreenToWorldPoint(mousePosition);

     Vector2 direction = new Vector2(mousePosition.x - 
     transform.localPosition.x,mousePosition.y - transform.localPosition.y);

     float angle = (Mathf.Atan2 (direction.y , direction.x) * Mathf.Rad2Deg);

     transform.localRotation = Quaternion.Euler (new Vector3(0, 0, Mathf.Min( 
     Mathf.Max( Mathf.Abs(angle),40 ),140 )));
    }  


这是一个视频,你可以看到它的工作原理"现在:https://youtu.be/1pm54cjzYxA

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

考虑使用LookAt();功能