Hi Unity,
Can I know why I am not able to use rigidbody2d.Velocity or rigidbody2d.AddForce?
I am using Unity5. I learn from the Unity2d tutorial about player controller and having this problem in my script.
Hi Unity,
Can I know why I am not able to use rigidbody2d.Velocity or rigidbody2d.AddForce?
I am using Unity5. I learn from the Unity2d tutorial about player controller and having this problem in my script.
private Rigidbody2D rigi;
private void Awake()
{
rigi = GetComponent();
}
void Update()
{
//blablabla
rigi.AddForce(new Vector2(0,700f));
//blablabla
rigi.velocity = new Vector2(1f, 2f);
//blablabla
}
Use
GetComponent<Rigidbody2D>()
instead of
rigidbody2d
@DoTA_KAMIKADzE Hey, hope I dont break some necromancing rules but I would appriciate your help. I tried piecing lines of codes together from various tutorials to get it working it still floats after I stop pressing the button which should be the problem here but I cant rely figurate out what to do or what to replace to fix it
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour
{
public float speed; //Floating point variable to store the player's movement speed.
private Rigidbody2D rb2d; //Store a reference to the Rigidbody2D component required to use 2D Physics.
// Use this for initialization
void Start()
{
//Get and store a reference to the Rigidbody2D component so that we can access it.
rb2d = GetComponent<Rigidbody2D> ();
}
//FixedUpdate is called at a fixed interval and is independent of frame rate. Put physics code here.
void FixedUpdate()
{
//Store the current horizontal input in the float moveHorizontal.
float moveHorizontal = Input.GetAxis ("Horizontal");
//Store the current vertical input in the float moveVertical.
float moveVertical = Input.GetAxis ("Vertical");
//Use the two store floats to create a new Vector2 variable movement.
Vector2 movement = new Vector2 (moveHorizontal, moveVertical);
//Call the AddForce function of our Rigidbody2D rb2d supplying movement multiplied by speed to move our player.
rb2d.AddForce (movement * speed);
}
}