Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 Dalsia · Sep 25, 2017 at 12:58 AM · movement2d game2d-platformermovement scriptsidescroller

How do I stop momentum in 2D sidescroller?

Hi, everyone,

I'm working on a 2D sidescroller, and while the rigidbody movement I'm currently using is mostly good, I notice that my character still moves slightly after I take my finger off the left or right arrow keys. Truthfully it doesn't make a big difference in the game, but I'm wondering if there's a way to turn this off.

Here's part of my movement script:

 // FixedUpdate is called on a fixed framerate, and is used to ensure equality through users' differing computer FPS
 void FixedUpdate () 
 {
     // Detects the player's left and right (x axis) input, and returns a float value (between -1 and 1) to be used in the MovePlayer method
     float horizontalForce = Input.GetAxis("Horizontal");

     // Calls the method that is responsible for moving the player
     MovePlayer(horizontalForce);

     // Calls the method that is responsible for flipping the player
     FlipPlayer (horizontalForce);
 }

 /// <summary>
 /// Moves the player
 /// </summary>
 /// <param name="horizontalForce">The force of the horizontal input based on pressing the left and right arrows</param>
 private void MovePlayer (float horizontalForce)
 {
     // Moves the player based on horizontal input
     playerRigidBody.velocity = new Vector2(horizontalForce * movementSpeed, playerRigidBody.velocity.y);

     // Plays the 'Walk' animation when the player moves. Mathf.Abs returns the positive value of horizontalForce so the animator's "speed" float condition is met
     playerAnimator.SetFloat("speed", Mathf.Abs(horizontalForce));
 }
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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by LilGames · Sep 25, 2017 at 01:37 AM

What you are seeing is Unity's input simulation of the "return to center" of a joystick. Set the sensitivy of Horizontal and Vertical (for the keyboard input) to 100. For a top-down game, I also set gravity to 100 in the horizontal and vertical.

Comment
Add comment · Show 2 · Share
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
avatar image Dalsia · Sep 25, 2017 at 03:21 AM 0
Share

Thanks for the quick reply. This does stop the momentum, but presents a different problem in that if I tap the movement keys my character goes significantly further than he should. I tried differing sensitivities, but could not find a desirable balance between these two issues.

avatar image LilGames Dalsia · Sep 25, 2017 at 05:36 PM 0
Share

Yes, you'll have to adjust your movementSpeed accordingly.

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

110 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

Related Questions

PLayer not landing afteer jumping,Player jumping by clicking button 1 Answer

2D player keeps getting dragged to the left for some reason. 0 Answers

climb speed changes drastically when game window is not maximized 1 Answer

How to Apply Animations to Script 1 Answer

Is there a way to make movement feel movement not feel slippery? 2 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