Need help with Character Jump!
Before I had the run and jump coding as force and it was working fine, but now I decided to change the running to be moved by velocity and my character won't jump anymore. I didn't even touch the jump code, I left it at velocity since it was working fine in the past. Help?
 using UnityEngine;
 using System.Collections;
 
 public class PlayerController : MonoBehaviour {
 
     public LevelController theLevelController;
 
     private bool jump, left, right, shoot;
     private bool inJump;
     public bool moving;
 
     private Rigidbody2D playerRigidbody;
 
     public float YJumpForce;
     public float XHorizontalForce;
 
     private Vector2 jumpForce;
     private Vector2 horizontalForce;
 
 
     Animator anim;
 
     // Use this for initialization
     void Start () {
     
         jump = left = right = false;
         inJump = false;
         playerRigidbody = GetComponent<Rigidbody2D> ();
         playerRigidbody.freezeRotation = true;
 
         anim = GetComponent<Animator> ();
 
     }
     
     // Update is called once per frame
     void Update () {
 
         jump = Input.GetKeyDown (KeyCode.UpArrow);
         left = Input.GetKey (KeyCode.LeftArrow);
         right = Input.GetKey (KeyCode.RightArrow);
         shoot = Input.GetKey (KeyCode.Space);
 
     }
 
     void FixedUpdate () {
 
         //Jump
         jumpForce = new Vector2 (0, YJumpForce);
 
         if (jump && !inJump) {
             inJump = true;
             StartCoroutine (disableJump ());
             playerRigidbody.AddForce (jumpForce, ForceMode2D.Impulse);
             anim.SetBool ("Jump", true);
         }
 
         //Shooting
         if (shoot) {
             anim.SetBool ("Shoot", true);
         } else {
             anim.SetBool ("Shoot", false);
         }
 
         //Movement
         if (left && !inJump) {
             moving = true;
             playerRigidbody.velocity = new Vector2 (-XHorizontalForce, 0);
             if (transform.localScale.x > 0) {
                 flip ();
             }
         } else if (right && !inJump) {
             moving = true;
             playerRigidbody.velocity = new Vector2 (XHorizontalForce, 0);
             if (transform.localScale.x < 0) {
                 flip ();
             }
         } else if (!inJump) {
             moving = false;
         } else {
             playerRigidbody.velocity = new Vector2 (0f, 0f);
         }
 
         if (moving==true) {
             anim.SetBool ("Run", true);
         } else {
             anim.SetBool ("Run", false);
         }
     }
 
     void flip()
     {
         Vector3 theScale = transform.localScale;
         theScale.x *= -1;
         transform.localScale = theScale;
     }
 
     IEnumerator disableJump()
     {
         yield return new WaitForSeconds(2);
         inJump = false;
         anim.SetBool ("Jump", false);
     }
 }
               Comment
              
 
               
              ins$$anonymous$$d of using 0 for the y parameter in your move velocity use the existing y from the velocity.
Try replacing playerRigidbody with, this.transform.Translate(jumpForce);If this works for you, you may find that your character doesn't come back down. You'll need a negative force for jumpForcesuch as a gravity variable.
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                