- Home /
Platformer Flipping
Sup guys, how can I edit my script to flip my character depending on which way he's running/facing?
// Movement Variables private var jumpSpeed:float = 9.0; private var gravity:float = 100.0; private var rotateSpeed:float = 250.0; private var grounded:boolean = false; private var moveDirection:Vector3 = Vector3.zero; private var isWalking:boolean = true; private var moveStatus:String = "idle"; private var xSpeed = 250.0; private var ySpeed = 120.0; private var yMinLimit = -40; private var yMaxLimit = 80; private var x = 0.0; private var y = 0.0;
static var walkSpeed:float = 15.0; static var isRunning:boolean = false; static var isMoving:boolean = false;
function Start () { // Set all animations to loop animation.wrapMode = WrapMode.Loop; animation.Stop(); }
// ------------------------------------------------------------------------------------------------------------- // ----------------------------------------------------------- UPDATE --------------------------------------- // -------------------------------------------------------------------------------------------------------------
function Update () { if(grounded) { moveDirection = new Vector3(0,0,Input.GetAxis("Horizontal")); if(Input.GetAxis("Horizontal")) { moveDirection *= .7; transform.LookAt(transform.position + moveDirection);
}
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= walkSpeed;
moveStatus = "idle";
if(moveDirection != Vector3.zero) {
animation.CrossFade("run",0.2);
isMoving = true;
} else {
isMoving = false;
animation.CrossFade("Take 001",0.2);
}
}
//////////
if(Input.GetKey("q")) {
isRunning = true;
walkSpeed = 50;
}else{
isRunning = false;
walkSpeed = 30;
}
//////////
moveDirection.y -= gravity * Time.deltaTime;
var controller:CharacterController = GetComponent(CharacterController);
var flags = controller.Move(moveDirection * Time.deltaTime);
grounded = (flags & CollisionFlags.Below) != 0;
};
static function ClampAngle (angle : float, min : float, max : float) {
if (angle < -360) angle += 360; if (angle > 360) angle -= 360; return Mathf.Clamp (angle, min, max); }
@script RequireComponent(CharacterController)
Your answer
Follow this Question
Related Questions
2D Character Flip 2 Answers
New to unity -1 Answers
Problem with script for changing character? 0 Answers
camera rotating with player 2 Answers
Aiming, Camera Orbit 0 Answers