Inverted Vertaical (W,S) controls with a rolling ball.
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.<Rigidbody>().AddTorque (Vector3.back * rotation);
var rotationv : float = Input.GetAxis ("Vertical") * pushSpeed;
rotation *= Time.deltaTime;
GetComponent.<Rigidbody>().AddForce (Vector3.back * rotationv);
//Handle ball jump
if (Input.GetKeyDown (KeyCode.Space) && isFalling == false)
{
GetComponent.<Rigidbody>().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! :)
Your answer
Follow this Question
Related Questions
How do you disallow an angle from going to a certain range while rotating? 0 Answers
أنجازات غير مسبوقة؟؟!!توكيل كاريير +بالاسكندرية 01286629661 0 Answers
Rolling platform affect player(ball) 1 Answer
Increase jump speed colliding on a box ?? 1 Answer
Object reference not set as an instant of an object 0 Answers