Posted By: TheShooter
Code funktioniert nicht wie er soll - 05/18/12 15:05
Hi,
ich arbeite gerade an einem neuen Projekt, und erstelle gerade den Movementcode. Allerdings bleibt das Spielermodell in der Luft, fällt also nicht zu Boden. Hier meine Schwerkraftfunktion:
Und hier mein ganzer Code, der dem Spielermodell zugewiesen ist:
Alles andere funktioniert, alles bis auf die "Schwerkraft".
Danke schonmal im Voraus,
TheShooter
ich arbeite gerade an einem neuen Projekt, und erstelle gerade den Movementcode. Allerdings bleibt das Spielermodell in der Luft, fällt also nicht zu Boden. Hier meine Schwerkraftfunktion:
Code:
function schwerkraft() { while(1){ if (c_trace(my.x, vector(my.x,my.y,my.z-100000000), IGNORE_ME | IGNORE_PASSABLE | USE_POLYGON) >0) distanz_zum_boden = my.z + vFuesse.z - target.z; else distanz_zum_boden = 0; if (distanz_zum_boden > 0) distanz_zum_boden = clamp(distanz_zum_boden,0,accelerate(fallgeschwindigkeit,5,0.1)); else fallgeschwindigkeit = 0; wait(1); } }
Und hier mein ganzer Code, der dem Spielermodell zugewiesen ist:
Code:
var fallgeschwindigkeit = 0; var distanz_zum_boden; VECTOR vFuesse; vec_for_min(vFuesse,me); function kamera() { while(1){ camera.x = my.x; camera.y = my.y; camera.z = my.z; camera.pan = my.pan; wait(1); } } function schwerkraft() { while(1){ if (c_trace(my.x, vector(my.x,my.y,my.z-100000000), IGNORE_ME | IGNORE_PASSABLE | USE_POLYGON) >0) distanz_zum_boden = my.z + vFuesse.z - target.z; else distanz_zum_boden = 0; if (distanz_zum_boden > 0) distanz_zum_boden = clamp(distanz_zum_boden,0,accelerate(fallgeschwindigkeit,5,0.1)); else fallgeschwindigkeit = 0; wait(1); } } function bewegen() { while(1){ my.pan += 2*(key_a-key_d)*time_step; wait(1); } } action spieler() { kamera(); schwerkraft(); bewegen(); }
Alles andere funktioniert, alles bis auf die "Schwerkraft".
Danke schonmal im Voraus,
TheShooter