类型 函数 库 physics.* 返回值 ParticleSystem 修订内容 版本 2024.3703 关键词 newParticleSystem、physics、particle、LiquidFun 另请参阅 object:createParticle() object:createGroup()
A ParticleSystem 对象包含在 LiquidFun 框架下表现得像液体的粒子。
一旦您创建了一个粒子系统,可以使用 object:createParticle() 或 object:createGroup() 生成粒子。
粒子只能与同一粒子系统中的其他粒子发生碰撞。
要移除粒子系统,请使用 particleSystem:removeSelf() 或 display.remove( particleSystem )。
此调用不能在碰撞事件中使用。但是,您的碰撞处理程序可以使用 timer.performWithDelay() 设置一个标记或包括一个时间延迟,以便该操作可以在下一个应用程序周期或以后进行。有关受此规则限制的 API 和方法的完整列表,请参见 碰撞检测 指南。
physics.newParticleSystem( params )
表。一个指定粒子系统属性的表 — 有关有效条目,请参见下一节。
字符串。您想要用于每个单独粒子实例的纹理文件的文件名。
常量。默认情况下,纹理文件位于项目文件夹 (system.ResourceDirectory)。如果纹理文件位于 文档 目录中,请使用 system.DocumentsDirectory。
数字。此数值属性控制粒子的密度。默认情况下,此值设为 1.0。
数字. 此数值属性控制重力的缩放。此值默认为 1.0。
数字. 为每个生成粒子控制物理体的半径。
数字. 如果已定义,粒子图像将以与物理体不同的半径渲染。否则,该图像将按 radius 的值渲染。
数字. 此数值属性控制最大粒子数目。此值默认为 0,表示没有最大限制。
数字. 响应压缩增加压力。较小值允许更大压缩。
数字. 降低碰撞法向速度。较小值降低得更少。
数字. 恢复弹性粒子组的形状。较大值增加弹性粒子速度。
数字. 恢复弹簧粒子组的长度。较大值增加弹簧粒子速度。
数字. 降低粘性粒子的相对速度。较大值更大程度地降低粘性粒子速度。
数字. 对约处于 0 到 0.2 范围内的拉伸粒子产生压力。较大值增加表面张力。
数字. 平滑约处于 0 到 0.2 范围内的拉伸粒子的轮廓。较大值使粒子簇更圆、更光滑且
数字. 对排斥性粒子产生附加压力。较大值排斥更大,负值表示吸引。粒子稳定性范围约为 -0.2 到 2.0。
数字. 在粉末粒子间产生排斥力。较大值排斥更大。
数字. 将粒子推出固体粒子组。较大值排斥更大。
数字. 降低静压计算中的不稳定性。较大值使用更少的迭代稳定静压。
数字. 更改计算粒子的静压时的迭代次数。默认值为 8 次迭代。在某些情况下,您可以将迭代次数减少到 1,但这可能会在很多粒子聚合时造成不稳定性。如果您看到粒子像爆米花一样相互远离,则可能需要增加迭代次数。有关静压的说明,请参阅 此处。
指定是否应该启用严格的粒子/体接触检查。此值默认为 false。
数字. 确定颜色混合的速度。值 1.0 表示立即混合粒子,而值 0.5 表示在每个仿真步骤中混合一半粒子。
布尔值. 指定是否在无法创建更多粒子时按年龄销毁粒子。
数字。 粒子生命周期(以秒为单位)的粒度。一个粒子的最大生命周期 = (2^32 - 1) / (1.0f / 粒度大小) 秒,因此当值设置为 1/60 时,粒子的最大生命周期或存活时间为 2.27 年。
字符串。 设置粒子混合方程。可接受的值为 "subtract"、"reverseSubtract" 或 "disabled"。
字符串 或 表。 设置粒子混合模式。可接受的字符串值为 "add"、"multiply"、"screen" 或 "normal"。它也可以是
blendMode = { srcColor="one", srcAlpha="one", dstColor="one", dstAlpha="one" }
local particleSystem = physics.newParticleSystem(
{
filename = "particle.png",
radius = 3
}
)
local particleSystem = physics.newParticleSystem(
{
filename = "particle.png",
radius = 4,
imageRadius = 6,
colorMixingStrength = 0.1,
blendMode = "add"
}
)