Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We’re making changes to the Unity Runtime Fee pricing policy that we announced on September 12th. Access our latest thread for more information!
    Dismiss Notice
  3. Dismiss Notice

rigidbody2D unwanted collisons

Discussion in '2D' started by Jakkarrl Games, Dec 31, 2013.

  1. Jakkarrl Games

    Jakkarrl Games

    Joined:
    Sep 2, 2013
    Posts:
    4
    Hi all!
    I ve been trying the new 2D features of unity.Im just trying to make a quick demo of a platformer level.I added rigidbody2D to the player character added a box collider to it and use the following script to move the player horizontally.


    Code (csharp):
    1.  
    2. #pragma strict
    3. private var v:int;
    4. private var h:int;
    5. var force:float;
    6. public var facingRight:boolean;
    7. function Start () {
    8. facingRight=true;
    9. }
    10.  
    11. function Update () {
    12.  /*if(Input.GetButtonDown("Jump")) {
    13.             //anim.GetComponent(Transform);
    14.             Debug.Log(anim);
    15.             anim.SetBool("strike",true);
    16.             }
    17.     if(Input.GetButtonUp("Jump")) {
    18.             anim.SetBool("strike",false);
    19.             }*/
    20.             //rigidbody2D.AddForce(force);'
    21.             //if() {
    22.            
    23.             //}
    24. }
    25. function FixedUpdate() {
    26.             h = Input.GetAxis("Horizontal");
    27.             v = Input.GetAxis("Vertical");
    28.             //rigidbody2D.transform.position.x+=0.1 * h;
    29.             rigidbody2D.AddForce(Vector2.right * force*h);
    30.             //rigidbody2D.AddForce(Vector2.up * 0);
    31.         if(h > 0  !facingRight)
    32.             Flip();
    33.         else if(h < 0  facingRight)
    34.             Flip();
    35.  
    36.            
    37.             //rigidbody2D.transform.position.y=-0.5f* v;
    38. }
    39.  
    40. function Flip ()
    41.     {
    42.         // Switch the way the player is labelled as facing.
    43.         facingRight = !facingRight;
    44.         var theScale:Vector3;
    45.         // Multiply the player's x local scale by -1.
    46.         theScale = transform.localScale;
    47.         theScale.x *= -1;
    48.         transform.localScale = theScale;
    49.     }
    50.  
    51.  
    the player moves fine but at places,the player stops as if he hit a wall and dont move further.but actually there is no physics component present there except a smooth ground where he walks.

    FYI I kept the gravity scale to 9.8.


    also I noticed that in the 2D tutorial given in unity(the potato guy one),the gravity is set to 1 and the game works fine.but if i set the gravity to 1 in my game the guy floats as if he's in space.


    this problem is buggin me for weeks.I tried all the methods i can possibly imagine but this is over my head.
     
    Last edited: Jan 1, 2014
  2. lmruiz

    lmruiz

    Joined:
    Dec 31, 2013
    Posts:
    1
  3. Jakkarrl Games

    Jakkarrl Games

    Joined:
    Sep 2, 2013
    Posts:
    4
    much thanks! it solved all of my problems regarding character control! :D

    how to close this topic?
     
  4. Jakkarrl Games

    Jakkarrl Games

    Joined:
    Sep 2, 2013
    Posts:
    4
    thanks that worked!! how to close this thread?