mein Geschoss feuert weiter Ich habe eine Kugel in der folgenden Art und Weise implementiert, aber es scheint nur zu steigen, was habe ich falsch gemacht?Mein Geschoss geht weiter
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);
}
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;
}
Sie legen die Geschwindigkeit nur in y-Richtung fest. Es sollte entlang des Vektors Ihres Spielers sein. – schultz