Question by 
               vbvbnbbbj · Feb 14, 2021 at 07:41 PM · 
                unity 52d gamemove an object  
              
 
              I can't jump and move at the same time
i made 2d character and 3 ui buttons and they worked well but the problem is when moving to the right or left by the ui buttons i can't jump however when jump from the ui button i can move to right and left this is the script
 public class PlayerWalk : MonoBehaviour {
 
     private PlayerAnimation playerAnim;
     private Rigidbody2D myBody;
     private SpriteRenderer spriteRenderer;
 
 
     public float speed = 7f;
     public float jumpForce = 7f;
 
     private bool moveLeft; // determine if we move left or right
     private bool dontMove; // determine if we are moving or not
     private bool canJump; // we will test if we can jump
 
    
 
     void Start () {
         playerAnim = GetComponent<PlayerAnimation>();
         myBody = GetComponent<Rigidbody2D>();
 
         dontMove = true;
     }
     
     void Update () {
         //DetectInput();
         HandleMoving();
     }
 
     void HandleMoving() {
 
         if (dontMove) {
 
             StopMoving();
 
         } else {
 
             if (moveLeft) {
                 
                 MoveLeft();
 
             } else if (!moveLeft) {
                 
                 MoveRight();
 
             }
 
         }
 
     } // handle moving
 
     public void AllowMovement(bool movement) {
         dontMove = false;
         moveLeft = movement;
     }
 
     public void DontAllowMovement() {
         dontMove = true;
     }
 
     public void Jump() {
         if(canJump) {
             myBody.velocity = new Vector2(myBody.velocity.x, jumpForce);
        //myBody.AddForce(Vector2.right * jumpForce);
 
         }
     }
 
     // PREVIOUS FUNCTIONS
 
     public void MoveLeft() {
         myBody.velocity = new Vector2(-speed, myBody.velocity.y);
         playerAnim.ZombieWalk(true, true);
         
     }
 
     public void MoveRight() {
         myBody.velocity = new Vector2(speed, myBody.velocity.y);
         playerAnim.ZombieWalk(true, false);
     }
 
     public void StopMoving() {
         playerAnim.ZombieStop();
         myBody.velocity = new Vector2(0f, myBody.velocity.y);
     }
 
     void DetectInput() {
         float x = Input.GetAxisRaw("Horizontal");
 
         if (x > 0)
         {
             MoveRight();
         }
         else if (x < 0)
         {
             MoveLeft();
         }
         else
         {
             StopMoving();
         }
     } 
     
 
     void OnCollisionEnter2D(Collision2D collision) {
         if(collision.gameObject.tag == "Ground") {
             canJump = true;   
             
         }
 
         
     }
 
    void OnCollisionExit2D(Collision2D collision) {
        if (collision.gameObject.tag == "Ground") {
            canJump = false;
        }
    }
 
 } // class
 
 
Any help??
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                