phent_addforceglobal (ENTITY* entity,VECTOR* vForce,VECTOR* vPos );

phent_addforcelocal (ENTITY* entity,VECTOR* vForce,VECTOR* vPos );

Kraft und Drehmoment ("winkelmässige Kraft") werden auf die angegebene Entity an der globalen (Welt-Koordinaten) oder lokalen (Entity-Koordinaten) Position vPos angewendet. Der Kraft-Vektor ist von der momentanen Objektausrichtung unabhängig. Es wird nicht geprüft, ob sich die Position tatsächlich innerhalb der Entity befindet. So kann man ihr, indem man ein vPos weit außerhalb der Entity wählt, einen starken Drall geben. Befindet sich vPos dagegen genau im Masse-Zentrum der Entity, wird es überhaupt keine Drehung geben (in diesem Fall sollten Sie die Verwendung von phent_addcentralforce in Betracht ziehen). phent_addforceglobal erzeugt das gleiche Resultat wie das Aufrufen der beiden Anweisungen phent_addcentralforce und phent_addtorqueglobal mit denselben Parametern.

Parameter:

entity die betreffende Entity
vForce ein Vektor, der die Kraft festlegt, die auf die Entity ausgeübt wird.
vPos ein Vektor, der den `global point´ spezifiziert an dem vForce angewendet wird.

Rückgabewert:

1 bei Erfolg, sonst 0.

Bemerkungen:

Geschwindigkeit:

Schnell

Edition:

 C   P 

Beispiel:

entity* myCrate;
var gravity[3] = 0,0, -386;
var crateMass= 10;
phent_settype( myCrate, PH_RIGID, PH_BOX );
phent_setmass( crateMass );
// force is three times as strong as gravity's pull, so we can lift up the entity, while pressing a key
while (key_pressed( key_for_str("L")) )
{
  vec_set( temp, gravity );
  vec_scale( temp, -3 * crateMass ); 
  phent_addforceglobal( myCrate, nullvector, temp );
  wait(1);
}

Siehe auch:

phent_addforcelocal, ph_selectgroup

► Aktuelle Version Online