physics_particle_get_data_particle

Obtenez des données sur des particules individuelles dans votre simulation de physique.

Syntaxe:

physics_particle_get_data_particle(ind, buffer, flags)


Argument La description
ind L'indice (ID) de la particule pour obtenir les données.
buffer Le tampon (créé précédemment) à utiliser pour stocker les données.
flags Les indicateurs à utiliser pour extraire des données sur des types de particules spécifiques.


Renvoie: les données du tampon


La description

Cette fonction retourne diverses informations sur une particule unique dans la simulation physique en utilisant les indicateurs donnés vérifiés. L'indice de particule (son ID) est celui qui a été renvoyé par la fonction physics_particle_create(), et le tampon utilisé doit avoir été créé précédemment en utilisant la fonction buffer_create(). Il devrait être de type "grow", avec une taille correspondant approximativement à celle des données de retour attendues. Les drapeaux eux-mêmes sont définis en utilisant les constantes données ci-dessous, et vous utiliserez le bitwise ou "|" pour créer une seule valeur de drapeau pour obtenir l'information désirée.

Constant La description Type de données
phy_particle_data_flag_typeflags La valeur des drapeaux pour la particule. buffer_u32
phy_particle_data_flag_position La position x et y de la particule. 2 x buffer_f32
phy_particle_data_flag_velocity La vitesse horizontale et verticale. 2 x buffer_f32
phy_particle_data_flag_colour La couleur et la valeur alpha (hexadécimal). buffer_f32
phy_particle_data_flag_category La catégorie de particules (telle que définie lorsque vous avez créé la particule). buffer_f32




Exemple:

var part = physics_particle_create(flags, x, y, x_vel, y_vel, c_white, 1, 1)
var flags = phy_particle_data_flag_position | phy_particle_data_flag_velocity;
var buffer = buffer_create(16, buffer_grow, 4);
physics_particle_get_data_particle(part, buffer, flags);
px = buffer_read(buffer, buffer_f32);
py = buffer_read(buffer, buffer_f32);
pvelx = buffer_read(buffer, buffer_f32);
pvely = buffer_read(buffer, buffer_f32);
buffer_delete(buffer);

Le code ci-dessus obtient la position et la vitesse de la particule indexée par la variable "part" et stocke les données dans un certain nombre de variables.


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