- Home /
Question by
CubePhysics · Mar 18, 2014 at 06:21 PM ·
animationrotationcontrolthird-person
How to check rotations
I want to check what are the xyz rotations of a gameobject. I basically want my script to work like: If the D is pressed/Held Turn the player to the right and if D pressed/Held carry on moving in that direction or if A is pressed/Held turn the player to the left and if A pressed/Held again carry on moving to the left. You will get my problem with turning when you look at my code here:
using UnityEngine;
using System.Collections;
public class Playermisc : MonoBehaviour {
public GameObject maincamera;
public GameObject player;
public float turnSpeed = 1.0f;
public float time = 1f;
public float speed = 1f;
// Use this for initialization
void Start ()
{
animation.Play("Standing");
animation["Jump"].speed = 1.15f;
animation["Falling"].speed = 0.42f;
Screen.lockCursor = true;
}
// Update is called once per frame
void Update ()
{
if(Input.GetKeyDown(KeyCode.Escape))
{
player.GetComponent<MouseLook>().enabled = false;
maincamera.GetComponent<MouseLook>().enabled = false;
}
if(Input.GetMouseButtonDown(0))
{
Screen.lockCursor = true;
player.GetComponent<MouseLook>().enabled = true;
maincamera.GetComponent<MouseLook>().enabled = true;
}
if((Input.GetKeyDown(KeyCode.W))&&(Input.GetKeyDown(KeyCode.D)))
{
transform.Rotate(0,45,0);
}
if((Input.GetKeyUp(KeyCode.W))&&(Input.GetKeyUp(KeyCode.D)))
{
transform.Rotate(0,225,0);
}
if(Input.GetKeyDown(KeyCode.W))
{
animation.CrossFade("Run");
}
if(Input.GetKeyUp(KeyCode.W))
{
animation.CrossFade("Standing");
}
if(Input.GetKeyDown(KeyCode.D))
{
animation.CrossFade("Run");
transform.Rotate(0,90,0);
}
if(Input.GetKeyUp(KeyCode.D))
{
animation.CrossFade("Standing");
}
if(Input.GetKeyDown(KeyCode.A))
{
animation.CrossFade("Run");
transform.Rotate(0,-90,0);
}
if(Input.GetKeyUp(KeyCode.A))
{
animation.CrossFade("Standing");
}
if(Input.GetKeyDown(KeyCode.S))
{
animation.CrossFade("Run");
transform.Rotate(0,180,0);
}
if(Input.GetKeyUp(KeyCode.S))
{
animation.CrossFade("Standing");
}
if(Input.GetKeyDown(KeyCode.Space))
{
animation.CrossFade("Jump");
}
}
}
Comment
Answer by koray1396 · Mar 18, 2014 at 06:41 PM
Vector3 someRotation;
someRotation = transform.eulerAngles;
Your answer
Follow this Question
Related Questions
How to make camera position relative to a specific target. 1 Answer
Aircraft Control by Animations ? 0 Answers
Control the Animation 1 Answer
Sidescroller, rotating via mouse control 0 Answers