physics_particle_create

Créer une seule particule de corps mou avec les paramètres donnés.

Syntaxe:

physics_particle_create(flags, x, y, xv, yv, col, alpha, category)


Argument La description
flags Les drapeaux à définir sur la particule.
x La position x pour créer la particule à.
y La position y pour créer la particule à.
xv La vitesse horizontale initiale.
yv La vitesse verticale initiale.
col La couleur de base à utiliser pour la particule.
alpha L'alpha de base à utiliser pour la particule.
category La catégorie définie par l'utilisateur à laquelle la particule appartient.


Retours: Real


La description

Avec cette fonction, vous pouvez créer une seule particule n'importe où dans votre salle de jeux, en définissant certains drapeaux et propriétés. Les "flags" sont la valeur de retour d'une combinaison des constantes suivantes:

Constant La description
phy_particle_flag_water Les propriétés par défaut pour une particule de corps mou.
phy_particle_flag_zombie Une particule de zombie est celle qui sera détruite après un seul pas avec tous les autres marqués de cette manière.
phy_particle_flag_wall Cela définit la particule comme statique, la créant essentiellement comme un objet immobile dans la simulation physique, car ils resteront dans une position fixe, peu importe ce qui entre en collision avec eux. Vous devriez utiliser ce drapeau plutôt que de définir la densité à 0.
phy_particle_flag_spring Les particules de printemps produisent l'effet d'être attachées l'une à l'autre, comme si elles étaient reliées par un ressort. Les particules créées avec ce drapeau sont "connectées" par paires, chaque particule étant connectée à celle qui était la plus proche au moment de la création. Une fois appariées, les particules ne changent pas de «partenaires», et plus une force externe les tire l'une de l'autre, plus grande est la puissance avec laquelle elles vont entrer en collision lorsque cette force externe est retirée. Notez que, quelle que soit la distance entre les particules appariées, la connexion entre elles ne s'alignera pas.
phy_particle_flag_elastic Les particules élastiques se déforment et peuvent également rebondir lorsqu'elles entrent en collision avec d'autres corps rigides dans la simulation physique.
phy_particle_flag_viscous Une particule visqueuse est celle qui présente "collant" ou "collant", comme l'huile. Les particules visqueuses s'agglomèrent et se collent davantage.
phy_particle_flag_powder Les particules de poudre produisent un effet de diffusion tel que vous pourriez le voir avec du sable ou de la poussière.
phy_particle_flag_tensile Les particules de traction sont utilisées pour produire l'effet de la tension de surface, ou la courbure tendue sur la surface d'un corps de liquide. Ils pourraient être utilisés, par exemple, pour créer la tension de surface que vous verriez sur une goutte d'eau. Une fois la tension rompue, les particules rebondissent comme si elles étaient élastiques, mais elles continuaient également à s'attirer l'une l'autre. En conséquence, les particules ont tendance à former des grappes lorsqu'elles rebondissent.
phy_particle_flag_colourmixing Les particules qui mélangent les couleurs prennent une partie de la couleur des autres particules avec lesquelles elles entrent en collision. Notez que si une seule des deux particules en collision est une couleur de mélange, l'autre particule conserve sa couleur de pré-collision.



Ces drapeaux 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 de la particule (la propriété de base étant toujours celle de phy_particle_flag_water ). Par exemple, si vous voulez simuler un liquide visqueux avec une tension de surface, utilisez le bitwise ou "|" pour marquer les bits appropriés comme indiqué dans l'exemple ci-dessous. De cette manière, vous pouvez définir différentes propriétés (autres que les propriétés globales) pour chaque particule créée.

Outre les indicateurs, vous pouvez également définir la position dans la pièce pour créer la particule à, la vélocité horizontale et verticale initiale, la couleur initiale et alpha, ainsi que la catégorie d' utilisateur. La couleur et les valeurs alpha ne sont utilisées que pour dessiner la particule en utilisant la fonction physics_particle_draw(), mais la valeur de catégorie est utilisée dans plusieurs autres fonctions. Cette valeur est une valeur entière arbitraire que vous attribuez à chaque particule que 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. Par exemple, si vous avez défini une particule "eau" et une "huile", vous donneriez à toutes les particules marquées comme "eau" la catégorie d'utilisateur 1 et toutes ces particules créées comme "huile" la catégorie d'utilisateur 2, permettant Vous pouvez ensuite cibler une seule catégorie pour modifier ses indicateurs ou obtenir des données spécifiques.

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).

La fonction renvoie une valeur d'index unique (ou ID) pour la particule qui peut être stockée dans une variable à utiliser dans d'autres fonctions qui référencent directement la particule.


Exemple:

var flags = phy_particle_flag_water | phy_particle_flag_viscous | phy_particle_flag_tensile;
var x_vel = lengthdir_x(5, image_angle);
var y_vel = lengthdir_y(5, image_angle);
var p = physics_particle_create(flags, x, y, x_vel, y_vel, c_white, 1, 1)

Le code ci-dessus créera des variables pour définir le type de particule et sa vélocité initiale, puis les utiliser pour créer une particule à la position x / y des instances.


Dos: Particules molles du corps
Suivant: physics_particle_group_begin
© Copyright YoYo Games Ltd. 2017 Tous droits réservés