研究ノートのユニティ(マウス移動制御カメラの動き)

使用UnityEngine; 

パブリック クラスマウスルック:MonoBehaviour { 

    パブリック 列挙 RotationAxes MouseXAndY = { 0、するmouseX = 1、mouseYの= 2 } // 列挙、モバイルXY、または単に移動、X、またはY定義
    公衆 RotationAxesを= RotationAxes.MouseXAndYが軸。                  // 外側に、都合良く変性シフトモードを列挙を宣言する
    公共 フロート ; sensitivityX = 15F                                     // 移動速度定義
    公開 フロート sensitivityY = 15F; 

    公共 フロート minimumY = -60f;        //は上部最小値を定義し、この値は、推奨されますさもなければオンになります
    公共 フロート maximumY = 60F;         // トップ最高値を定義し、この値が推奨され、または他に回動する

    フロート rotationY = 0F;                //は、実際の回転値Yが格納

    無効(スタート)
    { 

    } 
    無効更新()
    { 
        スイッチ(軸)                // ユーザが回転可能であると判断
        {
             ケースRotationAxes.MouseXAndY:
                 フロートれるrotationX + = transform.localEulerAngles.y Input.GetAxis(" マウスX- ")* sensitivityX; 

                rotationY + = Input.GetAxis(" マウスY ")* sensitivityY。//
                 rotationY = Mathf.Clamp(rotationY、minimumY、maximumY)。

                transform.localEulerAngles = 新規のVector3(-rotationY、れるrotationX、0 );
                破ります;
            ケースRotationAxes.MouseX:
                transform.Rotate(0、Input.GetAxis(" マウスX ")* sensitivityX、0 );
                破ります;
            ケースRotationAxes.MouseY:
                rotationY + = Input.GetAxis(" マウスY ")* sensitivityY。
                rotationY = Mathf.Clamp(rotationY、minimumY、maximumY)。

                transform.localEulerAngles = 新規のVector3(-rotationY、transform.localEulerAngles.y、0 );
                破ります;
            デフォルト休憩; 
        } 
    } 
}

 

おすすめ

転載: www.cnblogs.com/takanashi/p/11028423.html