Search Unity

Turning camera by -120 degrees on grounded right mouse button

Discussion in 'Scripting' started by Gogin, Jan 23, 2014.

  1. Gogin

    Gogin

    Joined:
    Nov 9, 2013
    Posts:
    60
    Hi everyone,

    script works fine only by specific rotation of player. I think I did bad think about euler rotation.
    It should works like if you are running, you can turn back if monster is hunting you. I hope you understand.

    Code (csharp):
    1.  
    2. var TurningCam : Transform;
    3. var rotationSpeed = 5.0;
    4. var rightClicked : boolean = false;
    5. var endturn : boolean = false;
    6.  
    7. @script AddComponentMenu("Camera-Control/Mouse Orbit")
    8.  
    9. private var myVector : Vector3;
    10. private var angle : float;
    11.  
    12. function Update (){
    13.     if (Input.GetMouseButtonDown(1)){
    14.         rightClicked = true;
    15.         enableControl(false);
    16.          }
    17.    
    18.     if (Input.GetMouseButtonUp(1)){
    19.         rightClicked = false;
    20.         enableControl(true);
    21.          }
    22. }
    23.  
    24. function enableControl(enabled : boolean){
    25.       GameObject.Find("Main Camera").GetComponent(MouseLook).enabled = enabled;
    26.       GameObject.Find("Player").GetComponent(MouseLook).enabled = enabled;
    27. }
    28.  
    29. function FixedUpdate () {
    30.     if (rightClicked) {
    31.             myVector.x = TurningCam.transform.eulerAngles.x;
    32.             myVector.z = TurningCam.transform.eulerAngles.z;
    33.                    
    34.             TurningCam.transform.eulerAngles = myVector;
    35.            
    36.             if(myVector.y >= -120.0){
    37.                    
    38.                 angle -= 300 * Time.fixedDeltaTime;
    39.                 myVector.y = angle;                    
    40.             }
    41.     }else{         
    42.             myVector.x = TurningCam.transform.eulerAngles.x;
    43.             myVector.z = TurningCam.transform.eulerAngles.z;
    44.                    
    45.             TurningCam.transform.eulerAngles = myVector;
    46.                      
    47.             if(myVector.y <= 0){
    48.                    
    49.                 angle += 300 * Time.fixedDeltaTime;
    50.                 myVector.y = angle;                    
    51.             }              
    52.          }
    53.  }  
    54.  
    55.