- Home /
Question by
james22212 · Dec 31, 2014 at 07:26 PM ·
cameraplayer
Player goes in other direction when moving mouse a long time
Hi everyone! I am making a game and I am working on the player control script. When I move my mouse to the left or right for about 5 seconds, the player will start going left like normal, but after a couple seconds, it will head right, then left, all in one mouse move in 1 direction. Anyways, here's the code:
// Player movement vars
public var turnSpeed : float;
public var walkSpeed : float;
public var sidewaysWalkSpeed : float;
public var jumpSpeed : float;
public var gravity : Vector3;
private var currentGravity : Vector3;
function Start() {
Screen.lockCursor = true;
gravity = Vector3(0, -1, 0);
turnSpeed = 4.3;
walkSpeed = 9;
sidewaysWalkSpeed = 7;
jumpSpeed = 0.25;
}
function Update() {
RotatePlayer();
MovePlayer();
}
function RotatePlayer() {
var turnY : float;
if(Input.GetAxis("Vertical") > 0) {
turnY = Input.GetAxis("Mouse X") * turnSpeed;
} else {
turnY = -Input.GetAxis("Mouse X") * turnSpeed;
}
transform.Rotate(0, turnY, 0);
}
function MovePlayer() {
var character : CharacterController = GetComponent(CharacterController);
var movement : Vector3;
movement = Input.GetAxis("Vertical") * walkSpeed * playerCamera.forward * Time.deltaTime;
movement = movement + (Input.GetAxis("Horizontal") * sidewaysWalkSpeed * playerCamera.right * Time.deltaTime);
if(character.isGrounded) {
currentGravity = Vector3.zero;
if(Input.GetButton("Jump")) {
currentGravity.y = jumpSpeed;
}
} else {
currentGravity += gravity * Time.deltaTime;
}
movement += currentGravity;
character.Move(movement);
}
Comment
Your answer
Follow this Question
Related Questions
Weapon not updating position and moving as Player moves 0 Answers
Camera Problem 1 Answer
Unity 2D Position Issues 0 Answers
Player rotates with camera(face same direction as the camera) 1 Answer