ok i am a noob i never done scripting but i have been following the tornadotwins i am doing the worm game tut…i am at the part when you make the movment for the worm … this is where i had to add a character controller to it beofroe scripting but here is the script thay gave me to add to the worm
var speed = 6.0;
var rotateSpeed = 3.0;
function Update()
{
var controller : CharacterController = GetComponent(CharacterController);
//Rotate on Y
transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);
//Move forward/back
var forward = transform.TransformDirection(Vector3.forward);
var curSpeed = speed * Input.GetAxis ("Vertical");
controller.SimpleMove(forward * curSpeed);
}
@script RequireComponent(CharacterController)
ok now every thing works but the jumping part i know there is no jumping action in this script but in the tuts thay made the worm jump can someone please just tell me what to add and make shure it works please i just want to make it jump i need it to jump up in the air when i press space like a normal game if you please answer for me and i did go back and i checked if i missed any thing in the videos i did not
var jumpSpeed: float = 5.0;
var speed: float = 6.0;
var rotateSpeed: float = 60.0;
var gravity: float = 10.0; // gravity acceleration
private var vSpeed: float = 0; // store vertical speed in a separate variable
function Update ()
{
var controller : CharacterController = GetComponent(CharacterController);
// Rotate around y - axis
transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed * Time.deltaTime, 0);
// Move forward / backward
var curSpeed = speed * Input.GetAxis ("Vertical");
var moveDir = transform.forward * curSpeed;
// Jump code
if (controller.isGrounded){ // if character is grounded...
vSpeed = 0; // its vert speed is zero
if (Input.GetButtonDown("Jump"))
{ // but if jump pressed, set it to jumpSpeed
vSpeed = jumpSpeed;
}
}
// apply gravity acceleration
vSpeed -= gravity * Time.deltaTime;
moveDir.y = vSpeed; // include vSpeed in moveDir
// moveDir * Time.deltaTime is the displacement since last frame
controller.Move(moveDir * Time.deltaTime);
}