pX_selectgroup (
unsigned int bitmask );
Löscht sämtliche Actors, die nicht auf die bereitgestellte Bitmask passen. Alle physikalischen Entities (Actors), die durch diese Funktion gelöscht wurden, werden dann wieder neu erstellt, wenn ihre Gruppen-ID zur Bitmask passt. Wenn sich Ihr Player aus der Sichtweite einer physikalischen Entity (Gruppe) bewegt, können Sie diese Objekte löschen, so dass sie nicht weiter upgedatet werden müssen, kehrt der Player zurück, können Sie die Gruppe wiederherstellen. Diese Funktion stellt nur registrierte Entities (Actors) wieder her bzw. löscht sie. Nicht-physikalische Entities werden ignoriert.
Parameter:
bitmask |
sämtliche registrierten physikalischen Entities mit einer Gruppen-ID, die auf die Bitmap passt werden aktiviert, solche, die nicht auf die Bitmap passen, werden gelöscht. Die Bitmap ist 21 Bits; der Wert 2097151 aktiviert alle Objekte. |
Rückgabewerte:
Ungleich Null, wenn erfolgreich, ansonsten 0.
Bemerkungen:
-
Hier eine Beispielbitmask für pX_selectgroup( 6 ), wo
6 mit den Bits 0110 korrespondiert:
0 |
1 |
1 |
0 |
<- Bitmask (6), first four bits of 21 shown
|
Enabled ? |
0 |
0 |
0 |
1 |
<- Ent1 group ID (1)
|
No |
0 |
0 |
1 |
0 |
<- Ent2 group ID (2)
|
Yes |
0 |
1 |
0 |
0 |
<- Ent3 group ID (4)
|
Yes |
1 |
0 |
0 |
0 |
<- Ent4 and Ent5 group ID (8)
|
No |
-
Wenn Sie Gelenke/Räder mit dieser Funktion löschen, müssen Sie diese mit pXcon_add oder pXcon_add manuell wiederherstellen.
- pX_selectgroup hat keine Auswirkung auf Charaktersteuerer (PH_CHAR).
Geschwindigkeit:
Mittel
Beispiel:
pXent_settype(earth,1,PH_SPHERE);
pXent_setgroup( earth, 2 );
pX_selectgroup(1); // activates group1, all others are disabled/paused (earth entity)
...
while(1){
if(key_f && earth.group!=1){
pXent_setgroup( earth, 1 ); // set entity to group1 -> entity gets enabled/activated
}
wait(1);
}
Siehe auch:
pXent_setgroup