phent_setgroup (ENTITY* entity, var groupID );
Setzt die ID der Entity. Diese Nummer wird in nachfolgenden Aufrufen an
ph_selectgroup Physik-Entities
an- oder auszuschalten. Sie können jedem Objekt eine individuelle ID zuweisen
oder mehrere Objekte eine einzige ID-Nummer teilen lassen. Sie dürfen jedoch
auf keinen Fall 0 als GroupID verwenden, denn dies würde die Entity immer
ausschalten. Jede neue Entity wird standardmäßig der Gruppe 1 zugewiesen.
Sie müssen also phent_setgroup nicht aufrufen, wenn
Sie keine genauere Kontrolle über die Objekte haben wollen oder die
Objekte untereinander kollidieren sollen. Bitte beachten Sie, dass die
Kollisionsprüfung für Objekte derselben GruppenID abgeschaltet ist
(mit Ausnahme von Gruppe 0 und 1). Wenn Sie also wollen, dass zwei
Objekte gegenseitig keine Kollisionserkennung haben, setzen Sie sie
auf dieselbe GroupID von 2 oder höher.
Parameter:
entity |
betreffende Entity |
groupID |
neue ID Nummer für das Objekt, sollte 2 oder höher sein! |
Rückgabewert:
1 bei Erfolg, sonst 0.
Bemerkungen:
- groupID sollte eine Zweierpotenz sein, so daß individuelle Gruppen per simpler Addition an- und abgeschaltet werden können (s. Beispiel). Die Werte 0 und 1 sind reserviert. 0 weil es nie unter Verwendung einer Bitmask angeschaltet werden könnte (es bleibt immer 0). 1 ist aus Gründen der Annehmlichkeit reserviert, so sind neue Objekte automatisch Teil einer Gruppe und können zugleich miteinander Kollidieren.
- Um Physik-Kollisionen mit Physik-Entities derselben Gruppe zu vermeiden, kann diese Funktion auch für Nicht-Physik-Entities aufgerufen werden. A7.79
Geschwindigkeit:
Schnell
Beispiel:
// player collides with bot and forcefield, but bot can walk through the forcefield
phent_setgroup( player, 2 );
phent_setgroup( forcefield, 4 );
phent_setgroup( patrolling_bot, 4 );
while (1) {
if (player_inside_building) {
ph_selectgroup( 1+2+4 ); // activate group 1+2+4
} else {
ph_selectgroup( 1+2 ); // disable group 4 cause player has left the building
}
}
Siehe auch:
ph_selectgroup
► Aktuelle Version Online