Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by aidan_the_beech · Oct 22, 2021 at 09:18 PM · 2d-platformerphysics2dwalljump

Unity2D Wall Jump sends the player directly upwards sometimes.

Version: Unity 2019.4.14f1

I wanted wall jumping to feel good, so the player sticks to the wall for 0.1 seconds before they let go. However, now the player will sometimes ascend straight up the wall instead of jumping away from it, depending on the timing between pushing away from the wall and jumping off. Any idea why this might be?

I'm kind of new to Unity and C# in general so please be patient with me if it's something ridiculously obvious.

 public void WallKick(bool wallJump)
     {
         //Grab wall
         if (wallKickUpgrade1 && canGrab && !m_Grounded && !groundedLastUpdate && grabCooldown > 0)
         {
             //Player holding towards the wall and facing towards the wall
             if (((Input.GetKey(GameManager.GM.left) || Input.GetAxisRaw("Horizontal") < 0) && transform.localScale.x == -1f) || ((Input.GetKey(GameManager.GM.right) || Input.GetAxisRaw("Horizontal") > 0) && transform.localScale.x == 1f))
             {
                 //Sets the player to be grabbing
                 isGrabbing = true;
                 lastGrab = 0;
             }
             else
             {
                 isGrabbing = false;
             }
         }
         else if (lastGrab < 0.1f)
         {
             lastGrab += Time.deltaTime;
         }
         else
         {
             isGrabbing = false;
         }
         if (isGrabbing)
         {
             //Stops the player from moving while grabbing onto the wall
             m_Rigidbody2D.velocity = Vector2.zero;
         }
         if (isGrabbing)
         {
             //Wall Jump
             if (wallJump)
             {
                 //The player loses control for 0.2 seconds and is pushed away from the wall
                 isGrabbing = false;
                 playerCanInput = false;
                 StartCoroutine(WallJumpCounter());
                 grabCooldown--;
                 if (lastGrab > 0)
                 {
                     m_Rigidbody2D.velocity = new Vector2(transform.localScale.x * 10f, m_JumpForce);
                 }
                 else
                 {
                     m_Rigidbody2D.velocity = new Vector2(-transform.localScale.x * 10f, m_JumpForce);
                 }
             }
         }
     }
 
     IEnumerator WallJumpCounter()
     {
         yield return new WaitForSeconds(0.1f);
         playerCanInput = true;
     }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

144 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Wall jump push force 1 Answer

How do deal with slopes in Unity2D with Physics-Based Movement? 0 Answers

2D Wall-Jump, preventing jumps/sticking on the same wall. 0 Answers

Physics2D checking if object goes out of OverlapArea 1 Answer

2D Platformer: Framerate causes inconsistency when falling off a platform. 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges