Question by
Sn0wLeopard12 · Apr 04, 2016 at 09:01 AM ·
rigidbody2dvector2
my bullet keeps firing up
I have implemented a bullet in the following manner, but it seems to just go up, what did i do wrong?
public class Player1Controls : MonoBehaviour {
// Update is called once per frame
public float speed;
Rigidbody2D player;
public float health;
private int state;
public Rigidbody2D Bullet;
public GameObject Gun;
void Start ()
{
player = GetComponent<Rigidbody2D>();
}
void Update ()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Rigidbody2D bullet1 = (Rigidbody2D)Instantiate (Bullet, Gun.transform.position,Quaternion.identity);
bullet1.transform.position = Gun.transform.position;
//bullet1.GetComponent<Rigidbody>().AddForce(transform.forward * speed);
//Vector2 direction = player.velocity.normalized;
//float ang = Vector2.Angle(player.transform.position, direction);
// Vector3 cross = Vector3.Cross(player.transform.position, direction);
//if (cross.z > 0)
//ang = 360 - ang;
//player.MoveRotation(ang);
}
if(Input.GetKey(KeyCode.W))
{
//transform.Translate(Vector2.up * speed);
player.velocity =(Vector2.up*speed);
state = 1;
}
public class MoveBullet : MonoBehaviour {
public float speed;
// Update is called once per frame
void Update () {
Vector3 pos = transform.position;
Vector3 vel = new Vector3(0, speed * Time.deltaTime, 0);
pos = pos + transform.rotation * vel;
transform.position = pos;
}
Comment
Your answer