object:createGroup()

类型 函数
对象 粒子系统
Physics.*
返回值
版本 版本 2024.3703
关键词 createGroup、物理、LiquidFun
请参阅 Physics.newParticleSystem()
object:destroyParticles()
object:createParticle()
particleCollision

概述

此函数用于通过填充区域来同时创建多个粒子。

语法

ParticleSystem:createGroup( params )
参数 (必需)

表格. 表格用以指定粒子组属性(旗标)— 有关有效分录,请参阅下一部分。

重要信息

通过 particleCollision 事件实现粒子碰撞时,必须为粒子组设置 "fixtureContactListener" 旗标。如果省略此旗标,您将不会收到粒子碰撞响应。

参数参考

要详细了解可用于粒子的参数,请参阅 LiquidFun 程序员指南

flags (可选)

字符串表格. 以下字符串之一或包含 a 的表格以逗号分隔的这些字符串的列表。

  • "water"
  • "zombie"
  • "wall"
  • "spring"
  • "elastic"
  • "viscous"
  • "powder"
  • "tensile"
  • "colorMixing"
  • "destructionListener"
  • "barrier"
  • "staticPressure"
  • "reactive"
  • "repulsive"
  • "fixtureContactListener"
  • "fixtureContactFilter"
  • "particleContactFilter"
groupFlags (可选)

字符串表格. 以下字符串之一或包含 a 的表格以逗号分隔的这些字符串的列表。

  • "solid"
  • "rigid"
  • "canBeEmpty"
  • "willBeDestroyed"
  • "needsUpdateDepth"
  • "internalMask"
x (可选)

数字. 在内容空间中生成的组的起始 x 位置。

y (可选)

数字. 在内容空间中生成的组的起始 y 位置。

angle (可选)

数字. 生成的组的起始角度(旋转)。

linearVelocityX (可选)

数字. 生成的组的 x 速度。

linearVelocityY (可选)

数字. 生成的组的 y 速度。

angularVelocity (可选)

数字. 生成的组的角速度。

color (可选)

Table组内粒子的 RGB+A 颜色设置表。

color = { 0, 0.3, 1, 1 }
strength (可选)

Number粒子组的内聚力范围从 0.0(最弱)到 1.0(最强)。默认值为 1.0

stride (可选)

Number组内粒子的间隔。

lifetime (可选)

Number生成的组的生命周期(秒)。

矩形组

halfWidth (可选)

Number所需矩形粒子组的一半宽度。

halfHeight (可选)

Number所需矩形粒子组的一半高度。

圆形组

radius (可选)

Number所需圆形粒子组的半径。

任意形状

shape (可选)

Array多达 8 个 xy 坐标的数组,用于生成任意凸面形状组。

轮廓形状

outline (可选)

Table形状表,由 graphics.newOutline() 返回。

范例

矩形组
ParticleSystem:createGroup(
    {
        flags = { "water", "colorMixing" },
        x = 0,
        y = 0,
        color = { 0, 0, 1, 1 },
        halfWidth = 64,
        halfHeight = 32
    }
)
圆形组
ParticleSystem:createGroup(
    {
        flags = "elastic",
        x = 0,
        y = 0,
        color = { 1, 0, 1, 1 },
        radius = 32
    }
)
任意形状
ParticleSystem:createGroup(
    {
        flags = { "elastic", "colorMixing" },
        x = 0,
        y = 0,
        color = { 0, 1, 0, 1 },
        shape = { 0,0, 64,64, 0,64 }
    }
)
轮廓形状
local imageOutline = graphics.newOutline( 2, "outline.png" )

ParticleSystem:createGroup(
    {
        flags = "water",
        x = 0,
        y = 0,
        color = { 1, 1, 0, 1 },
        outline = imageOutline
    }
)