Wenn du deine Tür zu einem Newtonphysikobjekt machst, darfst du sie nicht mehr anhand ihre x,Y,Z Werte bewegen oder anhand ihrer Winkel drehen. Dazu musst du nun die Newton eigenen Dll-Functionen verwnden. In der Door_swing (die Aktion die deine Tür bisher gedreht hat), musst du alle ent_move Befehle durch
NewtonBodyAddForce (Body, temp.X, temp.Y, temp.z); ersetzen, wobei temp.X,y,Z relative (durch vec_rotate auf die Türwinkel ausgerichtete) Werte sein müssen. Body muss durch body = NewtonGetBody (my); am Beginn der Function zugewiesen werden. Dazu muss vorher body als lokale Variable definiert sein.
Außerdem sollte zu Beginn der Function und nach allen Wait Befehlen sichergestellt sein, dass dll_handle auf dem Newtonhandle steht.

Alle Drehungen in der door_swing Function müssen durch
NewtonBodyAddTorque (Body, temp.x, temp.y, temp.z);
ersetzt werden wobei der Z parameter Pan Drehungen entspricht.

Um zu verhinden, dass die Tür aus den Angeln kippt müssen außerdem die anderen Winkel erhalten werden durch:
NewtonBodySetOmega (Body, temp);
wobei hier die X und Y werte größer 0 und Z 0 sein sollte.

Welche Werte für dich sinnvoll sind, weiß ich nicht das musst du einfach ausprobieren (und das kann durchaus länger dauern). Benutze aber nicht zu kleine Werte, orientier dich an der voreingestellten Variable Newtongravity, welche die Anziehungskraft angibt.

Last edited by RedPhoenix; 03/16/07 23:32.