- Home /
Question by
Will21 · Jan 18, 2015 at 10:18 PM ·
mobilejumpjumpingplaystation
My player falls really slowly and cant jump
I recently got the version of unity for playstation mobile to try and make one of my other games on it I copied and pasted a script but my player wouldnt jump even though the animation was playing and he fell really slowly. My script (sorry it is so long): #pragma strict
//VARIABLES
var health : int = 5;
var Speed : float = 12;
var Health : float = 100;
var JumpHeight : float = 15;
var Skin : GUISkin;
var AbilityLabelTime : float = 3;
var Dave : Animator;
var CanShoot : boolean = true;
var ShootTakeTime : float = 2;
//Animator Variables
Dave.SetBool("Jumping", false);
Dave.SetBool("CollectedSB", false);
Dave.SetBool("CollectedG", false);
Dave.SetBool("CollectedMB", false);
Dave.SetBool("CollectedGevar", false);
Dave.SetBool("RLEquiped", false);
//Items and ability variables
var ShowLabelSuperboots : boolean = false;
var ShowLabelLaserblaster : boolean = false;
var ShowLabelMegaBoots : boolean = false;
var ShowLabelGevar : boolean = false;
var ShowLabelRocketLauncher : boolean = false;
//Collection variables
var CollectedGun : boolean = false;
var CollectedSuperboots : boolean = false;
var CollectedMegaboots : boolean = false;
var CollectedGevar : boolean = false;
var CollectedRocketLauncher : boolean = false;
var RLEquiped : boolean = false;
var StopTime : float = 3;
var canJump : boolean = true;
//Jump height variables
var JumpLow : float = 15;
var JumpMedium : float = 28.5;
var JumpHigh : float = 38.5;
//Bullet variables
public var bulletRight : GameObject;
public var bulletLeft : GameObject;
public var RocketRight : GameObject;
public var RocketLeft : GameObject;
function Start () {
}
function Update ()
{
if (health <= 0) {
Dead ();
}
//Jump
if(Input.GetKey("w") && canJump){
this.rigidbody2D.velocity.y += JumpHeight;
Dave.SetBool("Jumping", true);
canJump = false;
}
//Move left
if (Input.GetKey (KeyCode.A))
{
transform.localScale.x = 1;
transform.Translate(Vector3(-Speed,0,0) * Time.deltaTime);
}
//Move right
if (Input.GetKey (KeyCode.D))
{
transform.localScale.x = 1;
transform.Translate(Vector3(Speed,0,0) * Time.deltaTime);
}
//Shoot right
if (CollectedGun == true && RLEquiped == false){
if(Input.GetKey(KeyCode.RightArrow)) {
Instantiate(bulletRight, transform.position, Quaternion.identity);
}
}
//Shoot left
if (CollectedGun == true && RLEquiped == false){
if (Input.GetKey(KeyCode.LeftArrow)) {
Instantiate(bulletLeft, transform.position, Quaternion.identity);
}
}
//Turning rockets on/off
if (CollectedRocketLauncher == true && RLEquiped == false && Input.GetKeyDown(KeyCode.R)){
RLEquiped = true;
Dave.SetBool("RLEquiped", true);
gameObject.Find("Rocket").SendMessage("On");
gameObject.Find("Bullet").SendMessage("Off");
}
else if (CollectedRocketLauncher == true && RLEquiped == true && Input.GetKeyDown(KeyCode.R)){
RLEquiped = false;
Dave.SetBool("RLEquiped", false);
gameObject.Find("Rocket").SendMessage("Off");
gameObject.Find("Bullet").SendMessage("On");
}
//Shoot rocket right
if (CollectedRocketLauncher == true && RLEquiped == true && CanShoot == true){
if (Input.GetKey(KeyCode.RightArrow)){
Instantiate(RocketRight, transform.position, Quaternion.identity);
CanShoot = false;
WaitForShoot ();
}
}
//Shoot rocket left
if (CollectedRocketLauncher == true && RLEquiped == true && CanShoot == true){
if (Input.GetKey(KeyCode.LeftArrow)){
Instantiate(RocketLeft, transform.position, Quaternion.identity);
CanShoot = false;
WaitForShoot ();
}
}
// JUMPING HEIGHTS
//Low Jump
if (Input.GetKey(KeyCode.Z)){
JumpHeight = JumpLow;
gameObject.Find("High").SendMessage("Off");
gameObject.Find("Medium").SendMessage("Off");
gameObject.Find("Low").SendMessage("On");
}
//Medium Jump
if (CollectedSuperboots == true){
if (Input.GetKey(KeyCode.X)){
JumpHeight = JumpMedium;
gameObject.Find("High").SendMessage("Off");
gameObject.Find("Medium").SendMessage("On");
gameObject.Find("Low").SendMessage("Off");
}
}
//High Jump
if (CollectedMegaboots == true){
if (Input.GetKey(KeyCode.C)){
JumpHeight = JumpHigh;
gameObject.Find("High").SendMessage("On");
gameObject.Find("Medium").SendMessage("Off");
gameObject.Find("Low").SendMessage("Off");
}
}
}
function OnTriggerEnter2D (other : Collider2D) {
//POWER UPS / ITEMS
//Super speed power up
if (other.gameObject.tag == "SuperSpeed") {
ShowLabelSuperboots = true;
Speed = Speed + 8;
CollectedSuperboots = true;
Dave.SetBool("CollectedSB", true);
WaitAndFalseSuperSpeed ();
Destroy(other.gameObject);
}
//Laserblaster power up
if (other.gameObject.tag == "Laserblaster") {
CollectedGun = true;
Dave.SetBool("CollectedG", true);
gameObject.Find("Rocket").SendMessage("Off");
gameObject.Find("Bullet").SendMessage("On");
ShowLabelLaserblaster = true;
WaitAndFalseLaserblaster ();
Destroy(other.gameObject);
}
//Megaspeed power up
if (other.gameObject.tag == "MegaSpeed") {
ShowLabelMegaBoots = true;
Speed = Speed + 10;
Dave.SetBool("CollectedMB", true);
CollectedMegaboots = true;
WaitAndFalseMegaBoots ();
Destroy(other.gameObject);
}
//Gevar suit power up
if (other.gameObject.tag == "Gevar") {
ShowLabelGevar = true;
Dave.SetBool("CollectedGevar", true);
CollectedGevar = true;
WaitAndFalseGevar ();
Destroy(other.gameObject);
}
//Rocket launcher power up
if(other.gameObject.tag == "RocketLauncher") {
ShowLabelRocketLauncher = true;
CollectedRocketLauncher = true;
WaitAndFalseRL ();
Destroy(other.gameObject);
}
if (other.gameObject.tag == "Lava" && CollectedGevar == false) {
Health -= 10000000000000;
}
}
function WaitForShoot () {
yield WaitForSeconds(ShootTakeTime); CanShoot = true;
}
function OnGUI() {
GUI.skin = Skin;
//LABLES AND GUI
//Label Super Boots
if (ShowLabelSuperboots){
GUI.Label(Rect(100,100,Screen.width,Screen.height),"Super Boots Acquired - These let you move and jump faster, press X to activate, press Z to jump normally again");
}
//Label Laserblaster
if (ShowLabelLaserblaster){
GUI.Label(Rect(100,100,Screen.width,Screen.height),"Laser Blaster Acquired - This lets you shoot, left arrow to shoot left, right arrow to shoot right");
}
//Label Mega Boots
if (ShowLabelMegaBoots){
GUI.Label(Rect(100,100,Screen.width,Screen.height),"Mega Boots Acquired - These let you move and jump even faster, press C to use it");
}
//Label Gevar Suit
if (ShowLabelGevar){
GUI.Label(Rect(100,100,Screen.width,Screen.height),"Gevar Suit Acquired - Protects you from lava");
}
//Label Rocket Launcher
if (ShowLabelRocketLauncher) {
GUI.Label(Rect(100,100,Screen.width,Screen.height),"Rocket Launcher Acquired - Press R to switch to rockets press again to switch back");
}
}
//Function Super Speed
function WaitAndFalseSuperSpeed () {
yield WaitForSeconds(AbilityLabelTime); ShowLabelSuperboots = false;
}
//Function Laserblaster
function WaitAndFalseLaserblaster () {
yield WaitForSeconds(AbilityLabelTime); ShowLabelLaserblaster = false;
}
//Function Megaboots
function WaitAndFalseMegaBoots () {
yield WaitForSeconds(AbilityLabelTime); ShowLabelMegaBoots = false;
}
//Function Gevar
function WaitAndFalseGevar () {
yield WaitForSeconds(AbilityLabelTime); ShowLabelGevar = false;
}
//Function Rocket Launcher
function WaitAndFalseRL () {
yield WaitForSeconds(AbilityLabelTime); ShowLabelRocketLauncher = false;
}
//GROUND DETECTOR
function OnCollisionEnter2D (other : Collision2D) {
if(other.transform.tag == "Ground"){
canJump = true;
Dave.SetBool("Jumping", false);
}
if(other.gameObject.tag == "Enemy") {
health -= 1;
}
}
function Dead ()
{
Destroy(gameObject);
}
Comment
What exactly in your script are you changing to increase your character's speed when falling plus enable it to jump?
I am just applying force to the rigid body to jump and checking if my player is on the ground
Your answer