类型 函数 库 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" } )