Hi,
Ich bins mal wieder - leider

Und zwar habe ich folgendes Problem.
Mit nachfolgendem Code wird eine Entity (ein Ball) mit Mausklick fallen gelassen und mit Rechtsklick wieder an ihre ursprüngliche Position gebracht, wo sie dann wieder fallen gelassen werden kann.
Ein kleiner Schönheitsfehler ist aber noch drin, denn die Drehung wird nicht resettet. Bringe ich also den Ball während einer Drehung wieder an seine Ausgangsposition, so dreht er sich bei Wiederaktivierung der Physik so weiter, wie ich ihn gestoppt habe.
Wie kann ich das verhindern?
Hier der Code:
Code:
action PhysikBall
{
while (bereit != 1)
{
wait(1);
}
ball = my;
initialisiert = 0;
my.light = ON;
my.blue = 255;
my.red = 255;
my.green = 255;
my.ambient = 100;
my.lightrange = 100;
vec_set(my.skill20, my.x);
restart:
while (mouse_left != 1)
{
while (my.x <= 170 && mouse_left != 1)
{
my.x += 5 * time;
wait(1);
}
while (my.x >= -170 && mouse_left != 1)
{
my.x -= 5 * time;
wait(1);
}
wait(1);
}
if (initialisiert == 0)
{
NewtonCreateGravityEntity(ball_material);
var physik_ball;
physik_ball = NewtonGetBody(my);
}
NewtonBodySetVelocity(physik_ball, nullvector);
NewtonBodySetTransform(physik_ball);
NewtonSetBodyActiveState(physik_ball, 1);
initialisiert = 1;
while (mouse_right != 1)
{
wait(1);
}
vec_set(my.x, my.skill20);
NewtonBodySetTransform(physik_ball);
NewtonSetBodyActiveState(physik_ball, 0);
goto(restart);
}
Danke