此函数将在共享相同的用户定义类别值的所有粒子的位置处绘制精灵,并且这些粒子具有与为遮罩设置的那些相一致的标志。掩码值的定义方式与创建粒子时定义标志的方式相同 (例如,请参阅函数 physics_particle_create()),即:使用 位 或 "|" 掩码每个标志的相应位。
注意:如果用户类别相同,此函数将绘制物理模拟中的所有粒子,其标志与掩码的标志一致,无论它们是单个粒子还是组。
绘制的粒子将忽略创建时设置的颜色和 Alpha 值,而是使用此函数中给定的比例、角度、颜色和 Alpha 参数进行绘制。请注意,这纯粹是为了在粒子位置上绘制精灵,而不会影响粒子的行为。
physics_particle_draw_ext(typemask, category, sprite, subimg, xscale, yscale, ang, col, alpha)
参数 | 类型 | 描述 |
---|---|---|
typemask | Physics Particle Flag Constant(s) | 用于比较粒子标记的遮罩。 |
category | Real | 要绘制的用户定义的类别 (使用 0 绘制所有类别)。 |
sprite | Sprite Asset | 用于每个粒子的精灵。 |
subimg | Real | 要绘制的精灵的 image_index。 |
xscale | Real | 沿 X 轴应用于精灵的比例因子。 |
yscale | Real | 沿 Y 轴应用于精灵的比例因子。 |
ang | Real | 绘制精灵的角度(以度为单位)。 |
col | Colour | 要与精灵混合的颜色 (默认为 c_white)。 |
alpha | Real | 绘制时使用的 Alpha 值 (0-1)。 |
N/A
var flags = phy_particle_flag_water | phy_particle_flag_viscous | phy_particle_flag_tensile;
physics_particle_draw_ext(flags, 2, sprBlob, 0, 2, 2, 0, c_white, 0.5);
上述代码将为用户定义的类别 "2" 中的所有粒子绘制一个精灵,这些粒子具有与给定遮罩相同的标志,沿着两个轴以 2 缩放,Alpha 为 0.5。