Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 JacobHockey13 · Mar 11, 2014 at 10:55 PM · 2drigidbody2dbeginneraddforceleft

How do add force to the left (x-axis)

I am very new to unity, and I created a very simple 2d "game" in which a ball falls from a height and lands on platforms. I was successfully able to script the ball in Javascript to move right upon user input. For some reason though, I cannot let the user add force to the left no matter what I try. I know this must be painfully simple and stupid, so many thanks to whoever deigns to answer this. The code is below

Original without force to the left; works perfectly:

 #pragma strict
 
         
 function FixedUpdate () {
         if (Input.GetKey ("right"))
         rigidbody2D.AddForce(Vector2.right * 10);
 }

My failed attempt to implement left movement:

 #pragma strict
 
         
 function FixedUpdate () {
         if (Input.GetKey ("right"))
         rigidbody2D.AddForce(Vector2.right * 10);
 }
 function FixedUpdate () {
         if (Input.GetKey ("left"))
         rigidbody2D.AddForce(Vector2.(0,-1) * 10);
     }

Thank you again

Comment
Add comment · Show 2
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 JacobHockey13 · Mar 11, 2014 at 10:51 PM 0
Share

I also now notice that the "left" coordinates are misplaced. Though these are now fixed, I still cannot run the program.

avatar image highpockets · Mar 11, 2014 at 11:08 PM 0
Share
 function FixedUpdate () {
        if (Input.Get$$anonymous$$ey ("left"))
     {
        rigidbody2D.AddForce(Vector2.left * 10);
     }
     }

Why don't you do it in one function FixedUpdate()

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by JacobHockey13 · Mar 12, 2014 at 03:52 AM

Thank you for the answer. This helped along with removing the period before the coordinates

Comment
Add comment · 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
0

Answer by JacobHockey13 · Mar 12, 2014 at 03:52 AM

I fixed my code to no longer have a fixed my code to no longer contain a period, and used just a simple Update as the new function. However, if I also wanted to have this as a FixedUpdate what would I do? Here is the working code. #pragma strict

 function FixedUpdate () {
         if (Input.GetKey ("right"))
         rigidbody2D.AddForce(Vector2.right * 10);
 } 
     function Update () {
              if (Input.GetKey ("left"))
         rigidbody2D.AddForce(Vector2(-1,0) * 10);
 }

Thank you highpockets for the answer. I also do not know how to mark your answer as correct (embarrassing), so how would I do that?

Comment
Add comment · Show 1 · 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 highpockets · Mar 12, 2014 at 06:03 AM 0
Share

If you want to ask more questions just do it with the 'add new comment' button on the lower right of the answer that I put, do not post a new answer. To mark my answer as correct click the tick mark on the top left of my answer. To place everything in FixedUpdate(), do the following:

 function FixedUpdate ()
 {
 
         if (Input.Get$$anonymous$$ey ("right"))
         {
         rigidbody2D.AddForce(Vector2.right * 10);
         }
 
          if (Input.Get$$anonymous$$ey ("left"))
         {
        rigidbody2D.AddForce(Vector2(-1,0) * 10);
         }
 }
 

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

21 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

Related Questions

Rigidbody2D x velocity not moving unless placed in FixedUpdate 1 Answer

Adding force to rigidbody2d to slide 1 Answer

Problem with 2 Rigidbodies having respective colliders (2d) 1 Answer

Using direction and Rigidbody2D.AddForce() to move towards object. 1 Answer

adding force to a 2d object makes it teleport. 1 Answer


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