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 /
  • Help Room /
avatar image
0
Question by adude172 · Sep 24, 2018 at 02:50 AM · 2d2d-platformerjumpjumpingplatformer

Jumping on enemies help

I'm trying to make a platformer with no jumping except for landing on enemies heads. It currently works but the jumping is sorta broken: if I am moving when I hit an enemy, the player will sometimes jump really low, sometimes a medium height, and sometimes really really high. See this gif for an example.

How can I make it more consistent? Here's the script I'm using for my Player, there is a blank GameObject as a child which I check for the ground layer with:

using System.Collections; using UnityEngine.SceneManagement;

public class Player : MonoBehaviour {

 [HideInInspector] public bool jump = false;   //used later for jump detect
 public float Speed = 365f;                //controls speed of player
 public float jumpForce = 1000f;       //controls how forceful jumps are
 public Transform groundCheck;      //gameobj thats used later for checking if touching ground


 private bool grounded = false;    //used for groundcheck
 private Rigidbody2D rb2d;    //name for rigidbody2d attached, used later for physics stuffs
 private SpriteRenderer spriteRenderer;  //renderer attached
 //Animator Animator;  //used to control animations!


 void Start ()
 {
     //Animator = GetComponent<Animator> ();  //calls an Animator component called Animator

 }
 // Use this for initialization
 void Awake () 
 {
     rb2d = GetComponent<Rigidbody2D>();   //calls rigidbody2d component called rb2d
     //Animator = gameObject.GetComponent<Animator>(); //calls an Animator component called Animator


 }

 // Update is called once per frame
 void Update () 
 {
     grounded = Physics2D.Linecast(transform.position, groundCheck.position, 1 << LayerMask.NameToLayer("Enemy")); //defines what grounded is: a gameobj that casts a line at its current pos that checks if the player is touching a layer called "Ground", what my floor is made out of. 

     if (grounded)  //can only jump if grounded is true, basically if is touching floor
     {
         jump = true;
     }
     if (Input.GetKey (KeyCode.R))
         SceneManager.LoadScene (SceneManager.GetActiveScene ().buildIndex - 0);
 }

     



 void FixedUpdate()
 {
     float Dirx = Input.GetAxis ("Horizontal") * Speed * Time.deltaTime;  //dirx is left or right depending on what on the x axis is pressed, a or left for left, and d or right for right. 
     transform.position = new Vector2 (transform.position.x + Dirx, transform.position.y);  //this transforms (moves) the player in the dir specified by dirx, and takes the speed from dirx too. 


     if (jump)
     {
         rb2d.AddForce(new Vector2(0f, jumpForce)); //adds a force to the rigidbody, multiplied by jumpforce.
         jump = false;  //can't jump right after jumping, until touching floor again. 
     }

} }

Any ideas? I'm new to unity, any help would be great, thanks!

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

251 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 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

I can't do jump in my 2D game 1 Answer

How do I disable Jumping while on my JumpPad? 1 Answer

Platformer 2D 1 Answer

Having a couple of problems regarding 2D Movement. 1 Answer

Rigidbody2D.velocity Interupts Rigidbody2D.AddForce in 2D Platformer 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