- Home /
Jump help!
Hi, I try to make sidescroller game but I don't know how to make my character jump...I want to make my character jump every dirction...like forward and backward and right and left...Jumping like in FPS controller.
This is my script
var speed : float = 3.0;
var rotateSpeed : float = 3.0;
private var dead = false;
private var time = true;
private var accel = false;
private var slow = false;
var slowdown = 0.2;
var score = 1f;
var timescale = 1f;
var acc = 0.2;
var ReadyToFire = true;
var ReadyToSlow = true;
var Maxspeed = 18.0;
var Minslow = 8.0;
function timecall(){
time = false;
yield WaitForSeconds (1);
timescale= timescale+1;
time = true;
}
function OnControllerColliderHit (hit : ControllerColliderHit)
{
if(hit.gameObject.tag == "dead")
{
Application.LoadLevel(2);
}
if(hit.gameObject.tag == "box")
{
//destroy the ammo box
Destroy(hit.gameObject);
score = score+1;
}
if(hit.gameObject.tag == "turbo")
{
//destroy the ammo box
Destroy(hit.gameObject);
speed = speed+6.5;
yield WaitForSeconds (2.75);
speed = speed-6.5;
}
if(hit.gameObject.tag == "Win")
{
Application.LoadLevel(3);
}
}
function Update () {
var controller : CharacterController = GetComponent(CharacterController);
var rigid : Rigidbody = GetComponent(Rigidbody);
var right : Vector3 = transform.TransformDirection(Vector3.right);
var RotateSpeed : float = rotateSpeed * Input.GetAxis ("Horizontal");
controller.SimpleMove(right * RotateSpeed);
// Move forward / backward
var forward : Vector3 = transform.TransformDirection(Vector3.forward);
var curSpeed : float = speed;
controller.SimpleMove(forward * curSpeed);
}
function LateUpdate()
{
if(dead)
{
transform.position = Vector3(-0.023, 3.8, -14.89);
gameObject.Find("Main Camera").transform.position = Vector3(-0.023, 3.8, -14.89);
dead = false;
}
}
@script RequireComponent(CharacterController)
Answer by Thom Denick · Jan 24, 2012 at 08:12 PM
There's a lot of what I hate to call "bad code." You shouldn't be doing things like fetching Rigidbody and Character Controller scripts in Update. Update is called every frame, you can do all that fetching in Start. You also don't appear to be even attempting to poll for a "jump" button command yet.
I'd strongly recommend going through the 2.5D tutorial on Unity's site: http://unity3d.com/support/resources/tutorials/2d-gameplay-tutorial
As to your actual question, this has been asked and answered in probably hundreds of UAs, here's one that seems to directly address what you are asking: http://answers.unity3d.com/questions/59196/making-a-jump-button.html
Your answer
Follow this Question
Related Questions
I have a problem with my sidescroller movement script 0 Answers
Smart camera? 1 Answer
Rigidbody Controller Jump 0 Answers
Error in script 1 Answer
Rigidbody, jumping and gravity help 0 Answers