Versuchs mal mit:
Code:
var hoehe = 0;
var kraft_rauf[3];
var kraft_runter[3];
var kraft_punkt[3];
//Vektor für die Kraft--> Bewegung nach oben auf der Z-Achse
kraft_rauf.x = 0;
kraft_rauf.y = 0;
kraft_rauf.z = 10;
//Vektor für die Kraft--> Bewegung nach unten auf der Z-Achse
kraft_runter.x = 0;
kraft_runter.y = 0;
kraft_runter.z = -10;
//Der Punkt wo die Kraft wirken soll ausgehend von der Kiste
kraft_punkt.x = 0;
kraft_punkt.y = 0;
kraft_punkt.z = 0;
//flug nach oben
while(hoehe < 100)
{
wait(1);
/*
Hier kannst du beliebig die Höhe abfragen und die Kräfte entsprechend anpassen um Geschwindigkeit auf oder abzubauen
*/
if(hoehe >= 50)
{
kraft_rauf += 2;
}
hoehe += 1;
phent_addforcelocal(kiste, kraft_rauf, kraft_punkt);
}
while(hoehe > 0)
{
wait(1);
if(hoehe < 50)
{
kraft_runter -= 2
}
hoehe -= 1;
phent_addforcelocal(kiste, kraft_runter, kraft_punkt);
}
Das îst nur ein kleines beispiel für addforcelocal, des ist nicht lauffähig.
Da fehlen noch alle Physik Eigenschaften der Kiste wie z.B Gravitation, Masse, Reibung etc.
anstelle von Kraftpunkt kannst du auch Nullvector schreiben aber mit Kraft_punkt kannst du die Kraft von einer anderen Richtung auf die Kiste wirken lassen.
Ein weiterer Vorteil an addforcelocal ist das die Kräfte immer ausgehend von der Entity wirken, dass heisst du wirst keine Probleme haben mit verschiedenen Kamera Ansichten. Am besten pröbelst du einfach mal drauf los.
cheers