Hallo,
ich möchte einen Ball vom Boden abprallen lassen, bis er schließlich ruht.
So, als würde ich einen Fußball ohne Reibung auf den Boden fallen lassen.
Code:
Wenn er den Boden trifft:
Funktioniert auch, das Problem ist nur, auch wenn die Kugel quasi ruht, wird immer noch die Erdanziehung auf den Bewegungsvektor addiert. Also fliegt die Kugel auch dann noch immer gegen die untere Grenze. Spricht sie hüpft immer ganz leicht weiter.
Im Internet finde ich zwar viel über freien Fall und abprallen, aber auf das Problem wird nie eingegangen.
Was kann man da machen?
liebe Grüße
ich möchte einen Ball vom Boden abprallen lassen, bis er schließlich ruht.
So, als würde ich einen Fußball ohne Reibung auf den Boden fallen lassen.
Code:
Java:
// ---------------------------------------------------------
private void lasseKugelFallen (Kugel kugel)
{
{
double timeSinceBeginn = System.currentTimeMillis () - kugel.getFallTimeStart ();
timeSinceBeginn *= 0.0001;
double y = kugel.getBewegungsRichtung ().getY () * timeSinceBeginn + 0.5 * Settings.kErdGravitation * timeSinceBeginn * timeSinceBeginn;
kugel.setBewegungsRichtung(new Vektor (kugel.getBewegungsRichtung().getX (), kugel.getBewegungsRichtung().getY () + Settings.kErdGravitation * timeSinceBeginn));
System.out.println (kugel.getBewegungsRichtung().getY());
kugel.setPosition(kugel.getPosition ().getX (), kugel.getPosition ().getY () + y);
}
}
Wenn er den Boden trifft:
Java:
if (kugel.getBewegungsRichtung().getY() >= 0)
{
kugel.setBewegungsRichtung(new Vektor (kugel.getBewegungsRichtung ().getX (), -kugel.getBewegungsRichtung ().getY () * Settings.bounceVelLoss));
}
Funktioniert auch, das Problem ist nur, auch wenn die Kugel quasi ruht, wird immer noch die Erdanziehung auf den Bewegungsvektor addiert. Also fliegt die Kugel auch dann noch immer gegen die untere Grenze. Spricht sie hüpft immer ganz leicht weiter.
Im Internet finde ich zwar viel über freien Fall und abprallen, aber auf das Problem wird nie eingegangen.
Was kann man da machen?
liebe Grüße
Zuletzt bearbeitet: