Hab' jetzt nach viel hin und her gestern Nacht noch etwas an meinem 1. Ansatz rumprobiert und mittlerweile ein (anscheinend) gut funktionierendes Ergebnis.
Code:
else
{
// Prüfen ob der Wurm mit den Seiten irgendwo gegenschlägt,
// dreht sich die vertikale Kraft um, inkl. Dämpfung
if(((wormHitTest(new Point(Worm(e.target).x - 10, Worm(e.target).y - 15)))&&(Worm(e.target).direction == "left")) || ((wormHitTest(new Point(Worm(e.target).x + 10, Worm(e.target).y - 15))))&&(Worm(e.target).direction == "right"))
Worm(e.target).VelocityX *= -0.5;
// Prüfen ob der Wurm mit dem Kopf irgendwo anschlägt,
// dadurch dreht sich die horizontale Kraft um, inkl. Dämpfung
if(wormHitTest(new Point(Worm(e.target).x, Worm(e.target).y - 20)))
Worm(e.target).VelocityY *= -0.5;
Worm(e.target).VelocityY += _curSettings.GRAVITY;
Worm(e.target).y += Worm(e.target).VelocityY;
Worm(e.target).x += Worm(e.target).VelocityX;
Worm(e.target).isFalling = true;
} Ob das jetzt die Musterlösung ist, weiß ich nicht wirklich. Falls es da was gibt was man offensichtlich besser machen könnte, immer raus damit
Mfg
LilaQ