hello i am trying to make a 2D platform , but i am a 3D artist so i am using 3D models with orthographic camera. I have wrote a script for moving my character left,right at X axis and up,down at Y axis. Similar to anyother side-scroller with difference that the character is flying so it can move up,down freely. Here is my script.
var speed : float;
function Update () {
transform.Translate(Input.GetAxis("Horizontal") * Vector3.right * speed * Time.deltaTime);
transform.Translate(Input.GetAxis("Vertical") * Vector3.forward * speed * Time.deltaTime);
}
what i want is to character rotate to -90 degrees when i press right button and when i again press left it is to rotate 90 degrees to show a kind of movement. Please help ,
Thanx in Advance
Anonymous
Edit : what i wanted is when i press right it should turn -90 and then should move on the right side and when then i press left it should again rotate to 90 and move in the direction.
You want the character to turn in a instant? then mabye this is for you:
var speed : float;
var rotateSpeed = 10.0;
function Update ()
{
transform.Translate(Input.GetAxis("Horizontal") * Vector3.right * speed * Time.deltaTime);
transform.Translate(Input.GetAxis("Vertical") * Vector3.forward * speed * Time.deltaTime);
if(Input.GetKey("j"))
{
transform.localEulerAngles.y += rotateSpeed;
}
if(transform.localEulerAngles.y >= 181)
{
transform.localEulerAngles.y = 180;
}
if(Input.GetKey("l"))
{
transform.localEulerAngles.y -= rotateSpeed;
}
if(transform.localEulerAngles.y <= 0)
{
transform.localEulerAngles.y = 1;
}
}
Simple, but I believe that this is what you want. If not please tell me so I mabye further can help you.
Edit: The character will turn with the J and L key. You can of course change that. :)
Edit2: The characters angles can be different form mine to yours so where it says:
if(transform.localEulerAngles.y >= 181)
and
if(transform.localEulerAngles.y <= 0)
you may need to change those if your restricted movement dose not match.