I am creating a small demo game to test out game development myself and I am creating a rolling ball in a 3D space controlled by the user to go through a course and progress to the next level. But converting from 2.5D to 3D I have found my control for the ball going forward and backward are reversed. W is moving the ball back, and S is moving it forwards.
How can I fix this?
EDIT: I have tried rotating the camera to the other side of the ball to invert that, but this causes my A&D keys to be inverted, as expected.
var rotationSpeed = 100;
var pushSpeed = 1;
var jumpHeight = 8;
private var isFalling = false;
function Update ()
{
//Handle ball rotation
var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed;
rotation *= Time.deltaTime;
GetComponent.().AddTorque (Vector3.back * rotation);
var rotationv : float = Input.GetAxis ("Vertical") * pushSpeed;
rotation *= Time.deltaTime;
GetComponent.().AddForce (Vector3.back * rotationv);
//Handle ball jump
if (Input.GetKeyDown (KeyCode.Space) && isFalling == false)
{
GetComponent.().velocity.y = jumpHeight;
}
isFalling = true;
}
//Prevents infinite Jumps
function OnCollisionStay ()
{
isFalling = false;
}
This is the script I have for controlling the ball's movement and jumping.
Also if there is any way I should clean this script up for any reason, let me know! :)
↧