Ich mache das 2D-Spiel mit Kugeln in Parabel bewegen, aber bevor ich das Projektil schießen mag ich in der Lage sein, seine Flugbahn zu berechnen.Wie berechnet man die Flugbahn eines Geschosses in Unity2D?
float velocity = Mathf.Min(Mathf.Max(distance, 1), 2.5f);
float cos = Mathf.Cos((gameObject.transform.localEulerAngles.z + 90) * Mathf.Deg2Rad);
float sin = Mathf.Sin((gameObject.transform.localEulerAngles.z + 90) * Mathf.Deg2Rad);
newGO.GetComponent<Rigidbody2D>().AddForce(velocity * new Vector3(cos, sin))
Dieser Code fügt die rigidbody2d meinem bullet (newGO) hinzu. Ich versuche, einen Punkt nach 1 Sekunde des Fliegens mit ihm zu zählen:
Debug.Log(new Vector3(source.transform.position.x + velocity * 1 * cos, source.transform.position.y + velocity * sin * 1 + Physics2D.gravity.y * 0.5f * 1));
Leider gibt es nicht das richtige Ergebnis zurück. Was soll ich machen? Danke für Hilfe und Entschuldigung für mein Englisch.
„nicht richtig zählt“ bitte erklären, was sie falsch ist. Sagen Sie, was Sie erwarten und zeigen Sie, was Sie tatsächlich bekommen. –
Zum Beispiel: bullet der x = 2,7, y = -1,14 nach 1 Sekunde, aber mein Code zurückkehrt (x, y) = (1,5, -4,9) – Pawelsar1
Stellen Sie Informationen wie die in Ihrer Frage nach [es bearbeite] (http://stackoverflow.com/posts/37217689/edit) –