Cocos2d-x  v4
ParticleSystem Class Reference

Particle System base class. Attributes of a Particle System: More...

Inherits Node, TextureProtocol, and PlayableProtocol.

Inherited by ParticleSystemQuad.

Public Types

enum  Mode
 Mode @js cc.ParticleSystem.MODE_GRAVITY;.
 
enum  PositionType { , RELATIVE, GROUPED }
 PositionType Possible types of particle positions. More...
 
enum  { DURATION_INFINITY = -1, START_SIZE_EQUAL_TO_END_SIZE = -1, START_RADIUS_EQUAL_TO_END_RADIUS = -1 }
 

Public Member Functions

void resetSystem ()
 Kill all living particles.
 
bool isFull ()
 Whether or not the system is full. More...
 
virtual void updateParticleQuads ()
 Update the verts position data of particle, should be overridden by subclasses.
 
virtual void postStep ()
 Update the VBO verts buffer which does not use batch node, should be overridden by subclasses.
 
virtual void updateWithNoTime ()
 Call the update method with no time. More...
 
virtual bool isAutoRemoveOnFinish () const
 Whether or not the particle system removed self on finish. More...
 
virtual void setAutoRemoveOnFinish (bool var)
 Set the particle system auto removed it self on finish. More...
 
virtual const Vec2getGravity ()
 Gets the gravity. More...
 
virtual void setGravity (const Vec2 &g)
 Sets the gravity. More...
 
virtual float getSpeed () const
 Gets the speed. More...
 
virtual void setSpeed (float speed)
 Sets the speed. More...
 
virtual float getSpeedVar () const
 Gets the speed variance. More...
 
virtual void setSpeedVar (float speed)
 Sets the speed variance. More...
 
virtual float getTangentialAccel () const
 Gets the tangential acceleration. More...
 
virtual void setTangentialAccel (float t)
 Sets the tangential acceleration. More...
 
virtual float getTangentialAccelVar () const
 Gets the tangential acceleration variance. More...
 
virtual void setTangentialAccelVar (float t)
 Sets the tangential acceleration variance. More...
 
virtual float getRadialAccel () const
 Gets the radial acceleration. More...
 
virtual void setRadialAccel (float t)
 Sets the radial acceleration. More...
 
virtual float getRadialAccelVar () const
 Gets the radial acceleration variance. More...
 
virtual void setRadialAccelVar (float t)
 Sets the radial acceleration variance. More...
 
virtual bool getRotationIsDir () const
 Whether or not the rotation of each particle to its direction. More...
 
virtual void setRotationIsDir (bool t)
 Sets the rotation of each particle to its direction. More...
 
virtual float getStartRadius () const
 Gets the start radius. More...
 
virtual void setStartRadius (float startRadius)
 Sets the start radius. More...
 
virtual float getStartRadiusVar () const
 Gets the start radius variance. More...
 
virtual void setStartRadiusVar (float startRadiusVar)
 Sets the start radius variance. More...
 
virtual float getEndRadius () const
 Gets the end radius. More...
 
virtual void setEndRadius (float endRadius)
 Sets the end radius. More...
 
virtual float getEndRadiusVar () const
 Gets the end radius variance. More...
 
virtual void setEndRadiusVar (float endRadiusVar)
 Sets the end radius variance. More...
 
virtual float getRotatePerSecond () const
 Gets the number of degrees to rotate a particle around the source pos per second. More...
 
virtual void setRotatePerSecond (float degrees)
 Sets the number of degrees to rotate a particle around the source pos per second. More...
 
virtual float getRotatePerSecondVar () const
 Gets the rotate per second variance. More...
 
virtual void setRotatePerSecondVar (float degrees)
 Sets the rotate per second variance. More...
 
virtual void setScale (float s) override
 Sets the scale (x,y,z) of the node. More...
 
virtual void setRotation (float newRotation) override
 Sets the rotation (angle) of the node in degrees. More...
 
virtual void setScaleX (float newScaleX) override
 Sets the scale (x) of the node. More...
 
virtual void setScaleY (float newScaleY) override
 Sets the scale (y) of the node. More...
 
virtual bool isActive () const
 Whether or not the particle system is active. More...
 
virtual bool isBlendAdditive () const
 Whether or not the particle system is blend additive. More...
 
virtual void setBlendAdditive (bool value)
 Sets the particle system blend additive. More...
 
virtual ParticleBatchNodegetBatchNode () const
 Gets the batch node. More...
 
virtual void setBatchNode (ParticleBatchNode *batchNode)
 Sets the batch node. More...
 
int getAtlasIndex () const
 Gets the index of system in batch node array. More...
 
void setAtlasIndex (int index)
 Sets the index of system in batch node array. More...
 
unsigned int getParticleCount () const
 Gets the Quantity of particles that are being simulated at the moment. More...
 
float getDuration () const
 Gets how many seconds the emitter will run. More...
 
void setDuration (float duration)
 Sets how many seconds the emitter will run. More...
 
const Vec2getSourcePosition () const
 Gets the source position of the emitter. More...
 
void setSourcePosition (const Vec2 &pos)
 Sets the source position of the emitter. More...
 
const Vec2getPosVar () const
 Gets the position variance of the emitter. More...
 
void setPosVar (const Vec2 &pos)
 Sets the position variance of the emitter. More...
 
float getLife () const
 Gets the life of each particle. More...
 
void setLife (float life)
 Sets the life of each particle. More...
 
float getLifeVar () const
 Gets the life variance of each particle. More...
 
void setLifeVar (float lifeVar)
 Sets the life variance of each particle. More...
 
float getAngle () const
 Gets the angle of each particle. More...
 
void setAngle (float angle)
 Sets the angle of each particle. More...
 
float getAngleVar () const
 Gets the angle variance of each particle. More...
 
void setAngleVar (float angleVar)
 Sets the angle variance of each particle. More...
 
Mode getEmitterMode () const
 Switch between different kind of emitter modes: More...
 
void setEmitterMode (Mode mode)
 Sets the mode of the emitter. More...
 
float getStartSize () const
 Gets the start size in pixels of each particle. More...
 
void setStartSize (float startSize)
 Sets the start size in pixels of each particle. More...
 
float getStartSizeVar () const
 Gets the start size variance in pixels of each particle. More...
 
void setStartSizeVar (float sizeVar)
 Sets the start size variance in pixels of each particle. More...
 
float getEndSize () const
 Gets the end size in pixels of each particle. More...
 
void setEndSize (float endSize)
 Sets the end size in pixels of each particle. More...
 
float getEndSizeVar () const
 Gets the end size variance in pixels of each particle. More...
 
void setEndSizeVar (float sizeVar)
 Sets the end size variance in pixels of each particle. More...
 
const Color4FgetStartColor () const
 Gets the start color of each particle. More...
 
void setStartColor (const Color4F &color)
 Sets the start color of each particle. More...
 
const Color4FgetStartColorVar () const
 Gets the start color variance of each particle. More...
 
void setStartColorVar (const Color4F &color)
 Sets the start color variance of each particle. More...
 
const Color4FgetEndColor () const
 Gets the end color and end color variation of each particle. More...
 
void setEndColor (const Color4F &color)
 Sets the end color and end color variation of each particle. More...
 
const Color4FgetEndColorVar () const
 Gets the end color variance of each particle. More...
 
void setEndColorVar (const Color4F &color)
 Sets the end color variance of each particle. More...
 
float getStartSpin () const
 Gets the start spin of each particle. More...
 
void setStartSpin (float spin)
 Sets the start spin of each particle. More...
 
float getStartSpinVar () const
 Gets the start spin variance of each particle. More...
 
void setStartSpinVar (float pinVar)
 Sets the start spin variance of each particle. More...
 
float getEndSpin () const
 Gets the end spin of each particle. More...
 
void setEndSpin (float endSpin)
 Sets the end spin of each particle. More...
 
float getEndSpinVar () const
 Gets the end spin variance of each particle. More...
 
void setEndSpinVar (float endSpinVar)
 Sets the end spin variance of each particle. More...
 
float getEmissionRate () const
 Gets the emission rate of the particles. More...
 
void setEmissionRate (float rate)
 Sets the emission rate of the particles. More...
 
virtual int getTotalParticles () const
 Gets the maximum particles of the system. More...
 
virtual void setTotalParticles (int totalParticles)
 Sets the maximum particles of the system. More...
 
void setOpacityModifyRGB (bool opacityModifyRGB) override
 does the alpha value modify color
 
bool isOpacityModifyRGB () const override
 If node opacity will modify the RGB color value, then you should override this method and return true. More...
 
PositionType getPositionType () const
 Gets the particles movement type: Free or Grouped. More...
 
void setPositionType (PositionType type)
 Sets the particles movement type: Free or Grouped. More...
 
virtual void onEnter () override
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual void onExit () override
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
virtual void update (float dt) override
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". More...
 
virtual void setBlendFunc (const BlendFunc &blendFunc) override
 
virtual const BlendFuncgetBlendFunc () const override
 @js NA @lua NA
 
implement Playable Protocol
virtual void start () override
 
virtual void stop () override
 
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops all running actions and schedulers.
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags)
 Override this method to draw your own node. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
 Visits this node's children and draw them recursively. More...
 
virtual ScenegetScene () const
 Returns the Scene that contains the Node. More...
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for scene. More...
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher of scene. More...
 
virtual uint8_t getOpacity () const
 Return the node's opacity. More...
 
virtual uint8_t getDisplayedOpacity () const
 Return the node's display opacity. More...
 
virtual void setOpacity (uint8_t opacity)
 Change node opacity. More...
 
virtual void updateDisplayedOpacity (uint8_t parentOpacity)
 Update the displayed opacity of node with it's parent opacity;. More...
 
virtual bool isCascadeOpacityEnabled () const
 Whether cascadeOpacity is enabled or not. More...
 
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
 Change node's cascadeOpacity property. More...
 
virtual const Color3BgetColor () const
 Query node's color value. More...
 
virtual const Color3BgetDisplayedColor () const
 Query node's displayed color. More...
 
virtual void setColor (const Color3B &color)
 Change the color of node. More...
 
virtual void updateDisplayedColor (const Color3B &parentColor)
 Update node's displayed color with its parent color. More...
 
virtual bool isCascadeColorEnabled () const
 Query whether cascadeColor is enabled or not. More...
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 If you want node's color affect the children node's color, then set it to true. More...
 
void setOnEnterCallback (const std::function< void()> &callback)
 Set the callback of event onEnter. More...
 
const std::function< void()> & getOnEnterCallback () const
 Get the callback of event onEnter. More...
 
void setOnExitCallback (const std::function< void()> &callback)
 Set the callback of event onExit. More...
 
const std::function< void()> & getOnExitCallback () const
 Get the callback of event onExit. More...
 
void setOnEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 Set the callback of event EnterTransitionDidFinish. More...
 
const std::function< void()> & getOnEnterTransitionDidFinishCallback () const
 Get the callback of event EnterTransitionDidFinish. More...
 
void setOnExitTransitionDidStartCallback (const std::function< void()> &callback)
 Set the callback of event ExitTransitionDidStart. More...
 
const std::function< void()> & getOnExitTransitionDidStartCallback () const
 Get the callback of event ExitTransitionDidStart. More...
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true
 
virtual void setCameraMask (unsigned short mask, bool applyChildren=true)
 Modify the camera mask for current node. More...
 
virtual void setLocalZOrder (std::int32_t localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void _setLocalZOrder (std::int32_t z)
 
void updateOrderOfArrival ()
 !!! ONLY FOR INTERNAL USE Sets the arrival order when this node has a same ZOrder with other children. More...
 
virtual std::int32_t getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual void setGlobalZOrder (float globalZOrder)
 Defines the order in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node. More...
 
virtual float getScaleY () const
 Returns the scale factor on Y axis of this node. More...
 
virtual void setScaleZ (float scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
virtual float getScaleZ () const
 Returns the scale factor on Z axis of this node. More...
 
virtual float getScale () const
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
virtual void setScale (float scaleX, float scaleY)
 Sets the scale (x,y) of the node. More...
 
virtual void setPosition (const Vec2 &position)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void setPositionNormalized (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual void setNormalizedPosition (const Vec2 &position)
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getPositionNormalized () const
 Returns the normalized position. More...
 
virtual const Vec2getNormalizedPosition () const
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX () const
 Gets the x coordinate of the node in its parent's coordinate system. More...
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionY () const
 Gets the y coordinate of the node in its parent's coordinate system. More...
 
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 Returns the position (X,Y,Z) in its parent's coordinate system. More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const Size &contentSize)
 Sets the untransformed size of the node. More...
 
virtual const Size & getContentSize () const
 Returns the untransformed size of the node. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible () const
 Determines if the node is visible. More...
 
virtual float getRotation () const
 Returns the rotation of the node in degrees. More...
 
virtual void setRotation3D (const Vec3 &rotation)
 Sets the rotation (X,Y,Z) in degrees. More...
 
virtual Vec3 getRotation3D () const
 Returns the rotation (X,Y,Z) in degrees. More...
 
virtual void setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion. More...
 
virtual Quaternion getRotationQuat () const
 Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise. More...
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setIgnoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual const std::string & getName () const
 Returns a string that is used to identify the node. More...
 
virtual void setName (const std::string &name)
 Changes the name that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
 @lua NA
 
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
 @lua NA
 
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the Node leaves the 'stage'. More...
 
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
virtual const ActionManagergetActionManager () const
 
virtual ActionrunAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list .
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
void stopAllActionsByTag (int tag)
 Removes all actions from the running action list by its tag. More...
 
void stopActionsByFlags (unsigned int flags)
 Removes all actions from the running action list by its flags. More...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
ssize_t getNumberOfRunningActionsByTag (int tag) const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays) with a specific tag. More...
 
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Scheduler object. More...
 
virtual const SchedulergetScheduler () const
 
bool isScheduled (SEL_SCHEDULE selector) const
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key) const
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate ()
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate ()
 
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
void scheduleOnce (const std::function< void(float)> &callback, float delay, const std::string &key)
 Schedules a lambda function that runs only once, with a delay of 0 or larger. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void schedule (const std::function< void(float)> &callback, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, const std::string &key)
 Schedules a lambda function. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unschedule (const std::string &key)
 Unschedules a lambda function. More...
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions. More...
 
virtual void resume ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
 
virtual Mat4 getNodeToParentTransform (Node *ancestor) const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform (Node *ancestor) const
 Returns the affine transform matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually. More...
 
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
 
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
 
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
 
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2. More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (const Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const Mat4 &additionalTransform)
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
 
Component * getComponent (const std::string &name)
 Gets a component by its name. More...
 
virtual bool addComponent (Component *component)
 Adds a component. More...
 
virtual bool removeComponent (const std::string &name)
 Removes a component by its name. More...
 
virtual bool removeComponent (Component *component)
 Removes a component by its pointer. More...
 
virtual void removeAllComponents ()
 Removes all components.
 
virtual std::string getDescription () const
 Gets the description string. More...
 
virtual void addChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual void addChild (Node *child, int localZOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder, const std::string &name)
 Adds a child to the container with z order and tag. More...
 
virtual NodegetChildByTag (int tag) const
 Gets a child from the container with its tag. More...
 
template<typename T >
getChildByTag (int tag) const
 Gets a child from the container with its tag that can be cast to Type T. More...
 
virtual NodegetChildByName (const std::string &name) const
 Gets a child from the container with its name. More...
 
template<typename T >
getChildByName (const std::string &name) const
 Gets a child from the container with its name that can be cast to Type T. More...
 
virtual void enumerateChildren (const std::string &name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name. More...
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const
 
virtual ssize_t getChildrenCount () const
 Returns the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
 
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
virtual void removeChild (Node *child, bool cleanup=true)
 Removes a child from the container. More...
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeChildByName (const std::string &name, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 

Static Public Member Functions

static ParticleSystemcreate (const std::string &plistFile)
 Creates an initializes a ParticleSystem from a plist file. More...
 
static ParticleSystemcreateWithTotalParticles (int numberOfParticles)
 Create a system with a fixed number of particles. More...
 
static Vector< ParticleSystem * > & getAllParticleSystems ()
 Gets all ParticleSystem references.
 
- Static Public Member Functions inherited from Node
static Nodecreate ()
 Allocates and initializes a node. More...
 
static int getAttachedNodeCount ()
 Gets count of nodes those are attached to scene graph.
 
template<typename _T >
static void sortNodes (cocos2d::Vector< _T * > &nodes)
 Sorts helper function. More...
 

Protected Member Functions

 ParticleSystem ()
 @js ctor
 
virtual ~ParticleSystem ()
 @js NA @lua NA
 
bool init () override
 initializes a ParticleSystem
 
bool initWithFile (const std::string &plistFile)
 initializes a ParticleSystem from a plist file. More...
 
bool initWithDictionary (ValueMap &dictionary)
 initializes a QuadParticleSystem from a Dictionary. More...
 
bool initWithDictionary (ValueMap &dictionary, const std::string &dirname)
 initializes a particle system from a NSDictionary and the path from where to load the png More...
 
virtual bool initWithTotalParticles (int numberOfParticles)
 Initializes a system with a fixed number of particles.
 
virtual bool isPaused () const
 Are the emissions paused. More...
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes.
 

Detailed Description

Particle System base class. Attributes of a Particle System:

  • emission 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 guaranteed 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 ParticleSystemQuad)
  • 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;

Member Enumeration Documentation

◆ PositionType

enum PositionType
strong

PositionType Possible types of particle positions.

@js cc.ParticleSystem.TYPE_FREE

Enumerator
RELATIVE 

Living particles are attached to the world and are unaffected by emitter repositioning.

GROUPED 

Living particles are attached to the world but will follow the emitter repositioning.

Use case: Attach an emitter to an sprite, and you want that the emitter follows the sprite.

◆ anonymous enum

anonymous enum
Enumerator
DURATION_INFINITY 

The Particle emitter lives forever.

START_SIZE_EQUAL_TO_END_SIZE 

The starting size of the particle is equal to the ending size.

START_RADIUS_EQUAL_TO_END_RADIUS 

The starting radius of the particle is equal to the ending radius.

Member Function Documentation

◆ create()

static ParticleSystem* create ( const std::string &  plistFile)
static

Creates an initializes a ParticleSystem from a plist file.

This plist files can be created manually or with Particle Designer: http://particledesigner.71squared.com/

Since
v2.0
Parameters
plistFileParticle plist file name.
Returns
An autoreleased ParticleSystem object.

◆ createWithTotalParticles()

static ParticleSystem* createWithTotalParticles ( int  numberOfParticles)
static

Create a system with a fixed number of particles.

Parameters
numberOfParticlesA given number of particles.
Returns
An autoreleased ParticleSystemQuad object. @js NA

◆ isFull()

bool isFull ( )

Whether or not the system is full.

Returns
True if the system is full.

◆ updateWithNoTime()

virtual void updateWithNoTime ( )
virtual

Call the update method with no time.

◆ isAutoRemoveOnFinish()

virtual bool isAutoRemoveOnFinish ( ) const
virtual

Whether or not the particle system removed self on finish.

Returns
True if the particle system removed self on finish.

◆ setAutoRemoveOnFinish()

virtual void setAutoRemoveOnFinish ( bool  var)
virtual

Set the particle system auto removed it self on finish.

Parameters
varTrue if the particle system removed self on finish.

◆ getGravity()

virtual const Vec2& getGravity ( )
virtual

Gets the gravity.

Returns
The gravity.

◆ setGravity()

virtual void setGravity ( const Vec2 g)
virtual

Sets the gravity.

Parameters
gThe gravity.

◆ getSpeed()

virtual float getSpeed ( ) const
virtual

Gets the speed.

Returns
The speed.

◆ setSpeed()

virtual void setSpeed ( float  speed)
virtual

Sets the speed.

Parameters
speedThe speed.

◆ getSpeedVar()

virtual float getSpeedVar ( ) const
virtual

Gets the speed variance.

Returns
The speed variance.

◆ setSpeedVar()

virtual void setSpeedVar ( float  speed)
virtual

Sets the speed variance.

Parameters
speedThe speed variance.

◆ getTangentialAccel()

virtual float getTangentialAccel ( ) const
virtual

Gets the tangential acceleration.

Returns
The tangential acceleration.

◆ setTangentialAccel()

virtual void setTangentialAccel ( float  t)
virtual

Sets the tangential acceleration.

Parameters
tThe tangential acceleration.

◆ getTangentialAccelVar()

virtual float getTangentialAccelVar ( ) const
virtual

Gets the tangential acceleration variance.

Returns
The tangential acceleration variance.

◆ setTangentialAccelVar()

virtual void setTangentialAccelVar ( float  t)
virtual

Sets the tangential acceleration variance.

Parameters
tThe tangential acceleration variance.

◆ getRadialAccel()

virtual float getRadialAccel ( ) const
virtual

Gets the radial acceleration.

Returns
The radial acceleration.

◆ setRadialAccel()

virtual void setRadialAccel ( float  t)
virtual

Sets the radial acceleration.

Parameters
tThe radial acceleration.

◆ getRadialAccelVar()

virtual float getRadialAccelVar ( ) const
virtual

Gets the radial acceleration variance.

Returns
The radial acceleration variance.

◆ setRadialAccelVar()

virtual void setRadialAccelVar ( float  t)
virtual

Sets the radial acceleration variance.

Parameters
tThe radial acceleration variance.

◆ getRotationIsDir()

virtual bool getRotationIsDir ( ) const
virtual

Whether or not the rotation of each particle to its direction.

Returns
True if the rotation is the direction.

◆ setRotationIsDir()

virtual void setRotationIsDir ( bool  t)
virtual

Sets the rotation of each particle to its direction.

Parameters
tTrue if the rotation is the direction.

◆ getStartRadius()

virtual float getStartRadius ( ) const
virtual

Gets the start radius.

Returns
The start radius.

◆ setStartRadius()

virtual void setStartRadius ( float  startRadius)
virtual

Sets the start radius.

Parameters
startRadiusThe start radius.

◆ getStartRadiusVar()

virtual float getStartRadiusVar ( ) const
virtual

Gets the start radius variance.

Returns
The start radius variance.

◆ setStartRadiusVar()

virtual void setStartRadiusVar ( float  startRadiusVar)
virtual

Sets the start radius variance.

Parameters
startRadiusVarThe start radius variance.

◆ getEndRadius()

virtual float getEndRadius ( ) const
virtual

Gets the end radius.

Returns
The end radius.

◆ setEndRadius()

virtual void setEndRadius ( float  endRadius)
virtual

Sets the end radius.

Parameters
endRadiusThe end radius.

◆ getEndRadiusVar()

virtual float getEndRadiusVar ( ) const
virtual

Gets the end radius variance.

Returns
The end radius variance.

◆ setEndRadiusVar()

virtual void setEndRadiusVar ( float  endRadiusVar)
virtual

Sets the end radius variance.

Parameters
endRadiusVarThe end radius variance.

◆ getRotatePerSecond()

virtual float getRotatePerSecond ( ) const
virtual

Gets the number of degrees to rotate a particle around the source pos per second.

Returns
The number of degrees to rotate a particle around the source pos per second.

◆ setRotatePerSecond()

virtual void setRotatePerSecond ( float  degrees)
virtual

Sets the number of degrees to rotate a particle around the source pos per second.

Parameters
degreesThe number of degrees to rotate a particle around the source pos per second.

◆ getRotatePerSecondVar()

virtual float getRotatePerSecondVar ( ) const
virtual

Gets the rotate per second variance.

Returns
The rotate per second variance.

◆ setRotatePerSecondVar()

virtual void setRotatePerSecondVar ( float  degrees)
virtual

Sets the rotate per second variance.

Parameters
degreesThe rotate per second variance.

◆ setScale()

virtual void setScale ( float  scale)
overridevirtual

Sets the scale (x,y,z) of the node.

It is a scaling factor that multiplies the width, height and depth of the node and its children.

Parameters
scaleThe scale factor for both X and Y axis.
Warning
The physics body doesn't support this.

Reimplemented from Node.

◆ setRotation()

virtual void setRotation ( float  rotation)
overridevirtual

Sets the rotation (angle) of the node in degrees.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationThe rotation of the node in degrees.

Reimplemented from Node.

◆ setScaleX()

virtual void setScaleX ( float  scaleX)
overridevirtual

Sets the scale (x) of the node.

It is a scaling factor that multiplies the width of the node and its children.

Parameters
scaleXThe scale factor on X axis.
Warning
The physics body doesn't support this.

Reimplemented from Node.

◆ setScaleY()

virtual void setScaleY ( float  scaleY)
overridevirtual

Sets the scale (y) of the node.

It is a scaling factor that multiplies the height of the node and its children.

Parameters
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented from Node.

◆ isActive()

virtual bool isActive ( ) const
virtual

Whether or not the particle system is active.

Returns
True if the particle system is active.

◆ isBlendAdditive()

virtual bool isBlendAdditive ( ) const
virtual

Whether or not the particle system is blend additive.

Returns
True if the particle system is blend additive.

◆ setBlendAdditive()

virtual void setBlendAdditive ( bool  value)
virtual

Sets the particle system blend additive.

Parameters
valueTrue if the particle system is blend additive.

◆ getBatchNode()

virtual ParticleBatchNode* getBatchNode ( ) const
virtual

Gets the batch node.

Returns
The batch node.

◆ setBatchNode()

virtual void setBatchNode ( ParticleBatchNode batchNode)
virtual

Sets the batch node.

Parameters
batchNodeThe batch node.

Reimplemented in ParticleSystemQuad.

◆ getAtlasIndex()

int getAtlasIndex ( ) const
inline

Gets the index of system in batch node array.

Returns
The index of system in batch node array.

◆ setAtlasIndex()

void setAtlasIndex ( int  index)
inline

Sets the index of system in batch node array.

Parameters
indexThe index of system in batch node array.

◆ getParticleCount()

unsigned int getParticleCount ( ) const
inline

Gets the Quantity of particles that are being simulated at the moment.

Returns
The Quantity of particles that are being simulated at the moment.

◆ getDuration()

float getDuration ( ) const
inline

Gets how many seconds the emitter will run.

-1 means 'forever'.

Returns
The seconds that the emitter will run. -1 means 'forever'.

◆ setDuration()

void setDuration ( float  duration)
inline

Sets how many seconds the emitter will run.

-1 means 'forever'.

Parameters
durationThe seconds that the emitter will run. -1 means 'forever'.

◆ getSourcePosition()

const Vec2& getSourcePosition ( ) const
inline

Gets the source position of the emitter.

Returns
The source position of the emitter.

◆ setSourcePosition()

void setSourcePosition ( const Vec2 pos)
inline

Sets the source position of the emitter.

Parameters
posThe source position of the emitter.

◆ getPosVar()

const Vec2& getPosVar ( ) const
inline

Gets the position variance of the emitter.

Returns
The position variance of the emitter.

◆ setPosVar()

void setPosVar ( const Vec2 pos)
inline

Sets the position variance of the emitter.

Parameters
posThe position variance of the emitter.

◆ getLife()

float getLife ( ) const
inline

Gets the life of each particle.

Returns
The life of each particle.

◆ setLife()

void setLife ( float  life)
inline

Sets the life of each particle.

Parameters
lifeThe life of each particle.

◆ getLifeVar()

float getLifeVar ( ) const
inline

Gets the life variance of each particle.

Returns
The life variance of each particle.

◆ setLifeVar()

void setLifeVar ( float  lifeVar)
inline

Sets the life variance of each particle.

Parameters
lifeVarThe life variance of each particle.

◆ getAngle()

float getAngle ( ) const
inline

Gets the angle of each particle.

Returns
The angle of each particle.

◆ setAngle()

void setAngle ( float  angle)
inline

Sets the angle of each particle.

Parameters
angleThe angle of each particle.

◆ getAngleVar()

float getAngleVar ( ) const
inline

Gets the angle variance of each particle.

Returns
The angle variance of each particle.

◆ setAngleVar()

void setAngleVar ( float  angleVar)
inline

Sets the angle variance of each particle.

Parameters
angleVarThe angle variance of each particle.

◆ getEmitterMode()

Mode getEmitterMode ( ) const
inline

Switch between different kind of emitter modes:

  • kParticleModeGravity: uses gravity, speed, radial and tangential acceleration.
  • kParticleModeRadius: uses radius movement + rotation.

    Returns
    The mode of the emitter.

◆ setEmitterMode()

void setEmitterMode ( Mode  mode)
inline

Sets the mode of the emitter.

Parameters
modeThe mode of the emitter.

◆ getStartSize()

float getStartSize ( ) const
inline

Gets the start size in pixels of each particle.

Returns
The start size in pixels of each particle.

◆ setStartSize()

void setStartSize ( float  startSize)
inline

Sets the start size in pixels of each particle.

Parameters
startSizeThe start size in pixels of each particle.

◆ getStartSizeVar()

float getStartSizeVar ( ) const
inline

Gets the start size variance in pixels of each particle.

Returns
The start size variance in pixels of each particle.

◆ setStartSizeVar()

void setStartSizeVar ( float  sizeVar)
inline

Sets the start size variance in pixels of each particle.

Parameters
sizeVarThe start size variance in pixels of each particle.

◆ getEndSize()

float getEndSize ( ) const
inline

Gets the end size in pixels of each particle.

Returns
The end size in pixels of each particle.

◆ setEndSize()

void setEndSize ( float  endSize)
inline

Sets the end size in pixels of each particle.

Parameters
endSizeThe end size in pixels of each particle.

◆ getEndSizeVar()

float getEndSizeVar ( ) const
inline

Gets the end size variance in pixels of each particle.

Returns
The end size variance in pixels of each particle.

◆ setEndSizeVar()

void setEndSizeVar ( float  sizeVar)
inline

Sets the end size variance in pixels of each particle.

Parameters
sizeVarThe end size variance in pixels of each particle.

◆ getStartColor()

const Color4F& getStartColor ( ) const
inline

Gets the start color of each particle.

Returns
The start color of each particle.

◆ setStartColor()

void setStartColor ( const Color4F color)
inline

Sets the start color of each particle.

Parameters
colorThe start color of each particle.

◆ getStartColorVar()

const Color4F& getStartColorVar ( ) const
inline

Gets the start color variance of each particle.

Returns
The start color variance of each particle.

◆ setStartColorVar()

void setStartColorVar ( const Color4F color)
inline

Sets the start color variance of each particle.

Parameters
colorThe start color variance of each particle.

◆ getEndColor()

const Color4F& getEndColor ( ) const
inline

Gets the end color and end color variation of each particle.

Returns
The end color and end color variation of each particle.

◆ setEndColor()

void setEndColor ( const Color4F color)
inline

Sets the end color and end color variation of each particle.

Parameters
colorThe end color and end color variation of each particle.

◆ getEndColorVar()

const Color4F& getEndColorVar ( ) const
inline

Gets the end color variance of each particle.

Returns
The end color variance of each particle.

◆ setEndColorVar()

void setEndColorVar ( const Color4F color)
inline

Sets the end color variance of each particle.

Parameters
colorThe end color variance of each particle.

◆ getStartSpin()

float getStartSpin ( ) const
inline

Gets the start spin of each particle.

Returns
The start spin of each particle.

◆ setStartSpin()

void setStartSpin ( float  spin)
inline

Sets the start spin of each particle.

Parameters
spinThe start spin of each particle.

◆ getStartSpinVar()

float getStartSpinVar ( ) const
inline

Gets the start spin variance of each particle.

Returns
The start spin variance of each particle.

◆ setStartSpinVar()

void setStartSpinVar ( float  pinVar)
inline

Sets the start spin variance of each particle.

Parameters
pinVarThe start spin variance of each particle.

◆ getEndSpin()

float getEndSpin ( ) const
inline

Gets the end spin of each particle.

Returns
The end spin of each particle.

◆ setEndSpin()

void setEndSpin ( float  endSpin)
inline

Sets the end spin of each particle.

Parameters
endSpinThe end spin of each particle.

◆ getEndSpinVar()

float getEndSpinVar ( ) const
inline

Gets the end spin variance of each particle.

Returns
The end spin variance of each particle.

◆ setEndSpinVar()

void setEndSpinVar ( float  endSpinVar)
inline

Sets the end spin variance of each particle.

Parameters
endSpinVarThe end spin variance of each particle.

◆ getEmissionRate()

float getEmissionRate ( ) const
inline

Gets the emission rate of the particles.

Returns
The emission rate of the particles.

◆ setEmissionRate()

void setEmissionRate ( float  rate)
inline

Sets the emission rate of the particles.

Parameters
rateThe emission rate of the particles.

◆ getTotalParticles()

virtual int getTotalParticles ( ) const
virtual

Gets the maximum particles of the system.

Returns
The maximum particles of the system.

◆ setTotalParticles()

virtual void setTotalParticles ( int  totalParticles)
virtual

Sets the maximum particles of the system.

Parameters
totalParticlesThe maximum particles of the system.

Reimplemented in ParticleSystemQuad.

◆ isOpacityModifyRGB()

bool isOpacityModifyRGB ( ) const
inlineoverridevirtual

If node opacity will modify the RGB color value, then you should override this method and return true.

Returns
A boolean value, true indicates that opacity will modify color; false otherwise.

Reimplemented from Node.

◆ getPositionType()

PositionType getPositionType ( ) const
inline

Gets the particles movement type: Free or Grouped.

Since
v0.8
Returns
The particles movement type.

◆ setPositionType()

void setPositionType ( PositionType  type)
inline

Sets the particles movement type: Free or Grouped.

Since
v0.8
Parameters
typeThe particles movement type.

◆ onEnter()

virtual void onEnter ( )
overridevirtual

Event callback that is invoked every time when Node enters the 'stage'.

If the Node enters the 'stage' with a transition, this event is called when the transition starts. During onEnter you can't access a "sister/brother" node. If you override onEnter, you shall call its parent's one, e.g., Node::onEnter(). @lua NA

Reimplemented from Node.

◆ onExit()

virtual void onExit ( )
overridevirtual

Event callback that is invoked every time the Node leaves the 'stage'.

If the Node leaves the 'stage' with a transition, this event is called when the transition finishes. During onExit you can't access a sibling node. If you override onExit, you shall call its parent's one, e.g., Node::onExit(). @lua NA

Reimplemented from Node.

◆ update()

virtual void update ( float  delta)
overridevirtual

Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live".

Parameters
deltaIn seconds.

Reimplemented from Node.

◆ setBlendFunc()

virtual void setBlendFunc ( const BlendFunc blendFunc)
overridevirtual
*When this function bound into js or lua,the parameter will be changed
*In js: var setBlendFunc(var src, var dst)
*In lua: local setBlendFunc(local src, local dst)

◆ initWithFile()

bool initWithFile ( const std::string &  plistFile)
protected

initializes a ParticleSystem from a plist file.

This plist files can be created manually or with Particle Designer: http://particledesigner.71squared.com/

Since
v0.99.3

◆ initWithDictionary() [1/2]

bool initWithDictionary ( ValueMap &  dictionary)
protected

initializes a QuadParticleSystem from a Dictionary.

Since
v0.99.3

◆ initWithDictionary() [2/2]

bool initWithDictionary ( ValueMap &  dictionary,
const std::string &  dirname 
)
protected

initializes a particle system from a NSDictionary and the path from where to load the png

Since
v2.1

◆ isPaused()

virtual bool isPaused ( ) const
protectedvirtual

Are the emissions paused.

Returns
True if the emissions are paused, else false

Member Data Documentation

◆ gravity

Vec2 gravity

Gravity value.

Only available in 'Gravity' mode.

◆ speed

float speed

speed of each particle.

Only available in 'Gravity' mode.

◆ speedVar

float speedVar

speed variance of each particle.

Only available in 'Gravity' mode.

◆ tangentialAccel

float tangentialAccel

tangential acceleration of each particle.

Only available in 'Gravity' mode.

◆ tangentialAccelVar

float tangentialAccelVar

tangential acceleration variance of each particle.

Only available in 'Gravity' mode.

◆ radialAccel

float radialAccel

radial acceleration of each particle.

Only available in 'Gravity' mode.

◆ radialAccelVar

float radialAccelVar

radial acceleration variance of each particle.

Only available in 'Gravity' mode.

◆ startRadius

float startRadius

The starting radius of the particles.

Only available in 'Radius' mode.

◆ startRadiusVar

float startRadiusVar

The starting radius variance of the particles.

Only available in 'Radius' mode.

◆ endRadius

float endRadius

The ending radius of the particles.

Only available in 'Radius' mode.

◆ endRadiusVar

float endRadiusVar

The ending radius variance of the particles.

Only available in 'Radius' mode.

◆ rotatePerSecond

float rotatePerSecond

Number of degrees to rotate a particle around the source pos per second.

Only available in 'Radius' mode.

◆ rotatePerSecondVar

float rotatePerSecondVar

Variance in degrees for rotatePerSecond.

Only available in 'Radius' mode.


The documentation for this class was generated from the following file:
cocos2d::ParticleSystem::setBlendFunc
virtual void setBlendFunc(const BlendFunc &blendFunc) override