Cocos Creator API

1.2.0

Cocos Creator is a highly customizable game development tool that utilizes the power of cocos2d-x.

ParticleSystem

模块: cc

Particle System base class.
Attributes of a Particle System:

  • emmision rate of the particles
  • Gravity Mode (Mode A):
  • gravity
  • direction
  • speed +- variance
  • tangential acceleration +- variance
  • radial acceleration +- variance
  • Radius Mode (Mode B):
  • startRadius +- variance
  • endRadius +- variance
  • rotate +- variance
  • Properties common to all modes:
  • life +- life variance
  • start spin +- variance
  • end spin +- variance
  • start size +- variance
  • end size +- variance
  • start color +- variance
  • end color +- variance
  • life +- variance
  • blending function
  • texture

    cocos2d also supports particles generated by Particle Designer (http://particledesigner.71squared.com/).
    'Radius Mode' in Particle Designer uses a fixed emit rate of 30 hz. Since that can't be guarateed in cocos2d,
    cocos2d uses a another approach, but the results are almost identical.
    cocos2d supports all the variables used by Particle Designer plus a bit more:
  • spinning particles (supported when using ParticleSystem)
  • tangential acceleration (Gravity mode)
  • radial acceleration (Gravity mode)
  • radius direction (Radius mode) (Particle Designer supports outwards to inwards direction only)
    It is possible to customize any of the above mentioned properties in runtime. Example:

示例:

emitter.radialAccel = 15;
emitter.startSpin = 0;

属性(properties)

preview Boolean

在编辑器模式下预览粒子,启用后选中粒子时,粒子将自动播放。

custom Boolean

是否自定义粒子属性。

file string

plist 格式的粒子配置文件。

texture Texture2D

.

particleCount Number

当前播放的粒子数量。

srcBlendFactor BlendFactor

指定原图混合模式。

dstBlendFactor BlendFactor

指定目标的混合模式。

playOnLoad Boolean

如果设置为 true 运行时会自动发射粒子。

autoRemoveOnFinish Boolean

粒子播放完毕后自动销毁所在的节点。

active Boolean readOnly

是否激活粒子。

totalParticles Number

粒子最大数量。

duration Number

发射器生存时间,单位秒,-1表示持续发射。

emissionRate Number

每秒发射的粒子数目。

life Number

粒子的运行时间。

lifeVar Number

粒子的运行时间变化范围。

startColor Color

粒子初始颜色。

startColorVar Color

粒子初始颜色变化范围。

endColor Color

粒子结束颜色。

endColorVar Color

粒子结束颜色变化范围。

angle Number

粒子角度。

angleVar Number

粒子角度变化范围。

startSize Number

粒子的初始大小。

startSizeVar Number

粒子初始大小的变化范围。

endSize Number

粒子结束时的大小。

endSizeVar Number

粒子结束大小的变化范围。

startSpin Number

粒子开始自旋角度。

startSpinVar Number

粒子开始自旋角度变化范围。

endSpin Number

粒子结束自旋角度。

endSpinVar Number

粒子结束自旋角度变化范围。

sourcePos Vec2

发射器位置。

posVar Vec2

发射器位置的变化范围。(横向和纵向)

positionType ParticleSystem.PositionType

粒子位置类型。

emitterMode ParticleSystem.EmitterMode

发射器类型。

gravity Vec2

重力。

speed Number

速度。

speedVar Number

速度变化范围。

tangentialAccel Number

每个粒子的切向加速度,即垂直于重力方向的加速度,只有在重力模式下可用。

tangentialAccelVar Number

每个粒子的切向加速度变化范围。

radialAccel Number

粒子径向加速度,即平行于重力方向的加速度,只有在重力模式下可用。

radialAccelVar Number

粒子径向加速度变化范围。

rotationIsDir Boolean

每个粒子的旋转是否等于其方向,只有在重力模式下可用。

startRadius Number

初始半径,表示粒子出生时相对发射器的距离,只有在半径模式下可用。

startRadiusVar Number

初始半径变化范围。

endRadius Number

结束半径,只有在半径模式下可用。

endRadiusVar Number

结束半径变化范围。

rotatePerS Number

粒子每秒围绕起始点的旋转角度,只有在半径模式下可用。

rotatePerSVar Number

粒子每秒围绕起始点的旋转角度变化范围。

DURATION_INFINITY Number readOnly static

表示发射器永久存在

START_SIZE_EQUAL_TO_END_SIZE Number readOnly static

表示粒子的起始大小等于结束大小。

START_RADIUS_EQUAL_TO_END_RADIUS Number readOnly static

表示粒子的起始半径等于结束半径。

There are no properties that match your current filter settings. You can change your filter settings in the index section on this page. index

方法

addParticle ( ) Boolean

添加一个粒子到发射器中。

返回:

类型: Boolean

stopSystem ( )

停止发射器发射粒子,发射出去的粒子将继续运行,直至粒子生命结束。

示例:

// stop particle system.
myParticleSystem.stopSystem();

resetSystem ( )

杀死所有存在的粒子,然后重新启动粒子发射器。

示例:

// play particle system.
myParticleSystem.resetSystem();

isFull ( ) Boolean

发射器中粒子是否大于等于设置的总粒子数量。

返回:

类型: Boolean

setDisplayFrame
(
  • spriteFrame
)

设置一个新的精灵帧为粒子。
警告:这个函数只是试验,请使用 setTextureWithRect 实现。

名称 类型 描述
spriteFrame SpriteFrame

setTextureWithRect
(
  • texture
  • rect
)

设置一张新贴图和关联的矩形。

名称 类型 描述
texture Texture2D
rect Rect

There are no methods that match your current filter settings. You can change your filter settings in the index section on this page. index