physics_particle_group_begin(flags, groupflags, x, y, ang, xv, yv, ang_velocity, col, alpha, strength, category)
| Argument | La description |
|---|---|
| flags | Les drapeaux à définir sur la particule. |
| groupflags | Les indicateurs de groupe à définir sur la particule (voir Description ci-dessous). |
| x | La position x pour créer le groupe de particules à. |
| y | La position y pour créer le groupe de particules à. |
| ang | L'angle (en degrés) pour faire pivoter le groupe sur créer. |
| xv | La vitesse horizontale initiale. |
| yv | La vitesse verticale initiale. |
| ang_velocity | La vitesse angulaire initiale. |
| col | La couleur de base à utiliser pour le groupe de particules. |
| alpha | L'alpha de base à utiliser pour le groupe de particules. |
| strength | Définissez la force de cohésion entre les particules du groupe. |
| category | La catégorie définie par l'utilisateur à laquelle le groupe appartient. |
Retours: N / A
Avec cette fonction, vous pouvez créer un groupe de particules dans une pièce. Un groupe de particules est celui où les particules nécessaires pour créer une forme spécifique sont créées en une fois en tant que groupe, ce qui vous permet de créer des corps mou simulés avec différentes propriétés définies par les drapeaux utilisés. Les "flags" sont la valeur de retour d'une combinaison des constantes de particules (voir la fonction physics_particle_create pour les détails de ceux-ci), tandis que les "groupFlags" sont une combinaison des constantes de groupe suivantes (ou 0 pour aucun fanion):
| Constant | La description |
|---|---|
| phy_particle_group_flag_solid | Un groupe de particules solides empêche les autres appareils de se loger à l'intérieur. Si quelque chose le pénètre, le groupe de particules solides repousse le dispositif incriminé à sa surface, ce qui fait qu'un groupe de particules solides possède une force de répulsion particulièrement forte. |
| phy_particle_group_flag_rigid | Les groupes de particules rigides sont ceux dont la forme ne change pas, même lorsqu'ils entrent en collision avec d'autres appareils. |
Ces indicateurs de groupe utilisent le masquage de bits pour créer une valeur de sortie finale qui est ensuite vérifiée pour définir les différentes propriétés de base du groupe, à l'exception de celles définies par les indicateurs de particules. Vous pouvez utiliser aucune, une ou les deux de ces constantes en utilisant le bitwise ou "|" pour masquer les bits appropriés (comme indiqué dans l'exemple ci-dessous).
En plus des drapeaux, vous pouvez également définir la position dans la pièce pour créer le groupe de particules à (la position donnée sera le centre de masse du groupe fini), la vitesse horizontale et verticale initiale, ainsi que la vitesse angulaire de le groupe, vous permettant de créer des groupes mobiles et rotatifs.
Vous pouvez également définir la couleur initiale et l'alpha de toutes les particules du groupe, les valeurs étant utilisées lors du dessin des particules à l'aide de la fonction physics_particle_draw(). Après cela, vous définissez la force de cohésion des particules dans le groupe, ce qui est une autre façon de dire à quel point ils "collent" les uns aux autres. La force peut être une valeur entre 0 et 1, où 0 n'est pas de cohésion, et 1 est une cohésion maximale.
Enfin, vous devez donner la catégorie pour votre groupe de particules. Cette valeur est une valeur entière arbitraire que vous attribuez à chaque groupe de particules pour lequel vous souhaitez avoir des propriétés similaires, et elle peut être utilisée pour définir des indicateurs plus tard pour cette catégorie spécifique, ainsi qu'un certain nombre d'autres choses.
NOTE: Vous pouvez utiliser n'importe quelle valeur entière pour la catégorie sauf 0 qui est réservée par la simulation et est utilisée pour sélectionner toutes les catégories dans d'autres fonctions (comme pour le dessin).
Il est important de noter que l'appel de cette fonction ne crée pas le groupe dans la salle de physique. Cette fonction commence simplement le processus et définit les propriétés de la particule de base pour le groupe. Pour créer réellement le groupe de particules, vous devez lui donner un formulaire (voir l'exemple ci-dessous), puis appeler la fonction physics_particle_group_end(), à quel point il sera créé.
REMARQUE: Les indicateurs de type de particule que vous définissez influenceront également la cohésion du groupe de particules, de sorte que si vous marquez les particules comme étant du type eau (par exemple), lorsque le groupe entre en collision avec un autre appareil, il se séparera. Si vous marquez la particule comme un type de ressort, alors elle maintiendra sa cohésion lors d'une collision.
var flags = phy_particle_flag_water |
phy_particle_flag_viscous | phy_particle_flag_tensile;
var groupflags = phy_particle_group_flag_solid |
phy_particle_group_flag_rigid;
physics_particle_group_begin(flags, groupflags, mouse_x, mouse_y,
0, 0, 0, 0, c_white, 1, 1, 2);
physics_particle_group_circle(100);
mLastGroup = physics_particle_group_end();
Le code ci-dessus stocke les indicateurs pour le type de particule et les propriétés de groupe de particules dans les variables puis les utilise pour créer un groupe de particules circulaire avec un rayon de 100 px à la position de la souris.