physX_open ( )

A8 Diese Funktion in ackphysX.h startet die Physik-Simulationsschleife und setzt die Events level_load und ent_remove zum automatischen Registrieren und Entregistrieren statischer Objekte. Beim Level laden werden automatisch alle statischen, nicht-PASSABLE Entities als Physik-Objekte registriert. Alternativ können Sie Ihre eigene Physikschleife verwenden und sämtliches Registrieren und Löschen manuell vornehmen.

Algorithmus:

function physX_level_load()
{
  if (level_ent)
    pXent_settype(level_ent,PH_STATIC,PH_POLY);
  for (you = ent_next(NULL); you; you = ent_next(you))
  { 
    if (you.emask&DYNAMIC) continue;  // only register static ents
    if (you.flags&PASSABLE) continue;	
var type = ent_type(you); if (type >= 2 && type <= 5) // blocks, models, or terrain pXent_settype(you,PH_STATIC,PH_POLY); } } function physX_ent_remove(ENTITY* ent) { if (ent.body) // unregister entity before removal pXent_settype(ent,0,0); } function physX_open() { physX_load(); pX_setsteprate(60,8,0); pX_setunit(1/40); on_exit = physX_destroy; on_level_load = physX_level_load; on_ent_remove = physX_ent_remove; while(1) { physX_run(time_step/16); wait(1); } }

Geschwindigkeit:

Langsam

Siehe auch :

physX_run, physX_load, physX_destroy