cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
Public 类型 - 图1 Public 类型 - 图2)
- 类列表 - 类索引 - 类继承关系 - 类成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Public 属性 | Protected 成员函数 | Protected 属性 | 所有成员列表

ParticleSystem类 参考 Particle System

粒子系统基类 粒子系统属性: 更多…

#include

类 ParticleSystem 继承关系图:

Public 类型 - 图3 Node TextureProtocol Ref BlendProtocol ParticleSystemQuad ParticleExplosion ParticleFire ParticleFireworks ParticleFlower ParticleGalaxy ParticleMeteor ParticleRain ParticleSmoke ParticleSnow ParticleSpiral ParticleSun

## Public 类型
enum Mode { GRAVITY, RADIUS }
enum PositionType { FREE, RELATIVE, GROUPED }
粒子可能的位置类型 更多…
enum { DURATION_INFINITY = -1, START_SIZE_EQUAL_TO_END_SIZE = -1, START_RADIUS_EQUAL_TO_END_RADIUS = -1 }
## Public 成员函数
bool addParticle ()
添加一个粒子到发射器 更多…
void initParticle (tParticle particle)
初始化一个粒子 更多…
void stopSystem ()
停止发射粒子 更多…
void resetSystem ()
停止所有活着的粒子 更多…
bool isFull ()
系统是否满了 更多…
virtual void updateQuadWithParticle (tParticle particle, const Vec2 &newPosition)
必须被子类重写 更多…
virtual void postStep ()
必须被子类重写 更多…
virtual void updateWithNoTime (void)
virtual bool isAutoRemoveOnFinish () const
virtual void setAutoRemoveOnFinish (bool var)
virtual const Vec2 & getGravity ()
virtual void setGravity (const Vec2 &g)
virtual float getSpeed () const
virtual void setSpeed (float speed)
virtual float getSpeedVar () const
virtual void setSpeedVar (float speed)
virtual float getTangentialAccel () const
virtual void setTangentialAccel (float t)
virtual float getTangentialAccelVar () const
virtual void setTangentialAccelVar (float t)
virtual float getRadialAccel () const
virtual void setRadialAccel (float t)
virtual float getRadialAccelVar () const
virtual void setRadialAccelVar (float t)
virtual bool getRotationIsDir () const
virtual void setRotationIsDir (bool t)
virtual float getStartRadius () const
virtual void setStartRadius (float startRadius)
virtual float getStartRadiusVar () const
virtual void setStartRadiusVar (float startRadiusVar)
virtual float getEndRadius () const
virtual void setEndRadius (float endRadius)
virtual float getEndRadiusVar () const
virtual void setEndRadiusVar (float endRadiusVar)
virtual float getRotatePerSecond () const
virtual void setRotatePerSecond (float degrees)
virtual float getRotatePerSecondVar () const
virtual void setRotatePerSecondVar (float degrees)
virtual void setScale (float s)
设置几点的缩放(x,y,z). 更多…
virtual void setRotation (float newRotation)
设置节点的旋转(angle)角度。 更多…
virtual void setScaleX (float newScaleX)
设置节点的缩放(x)。 更多…
virtual void setScaleY (float newScaleY)
设置节点的缩放(y)。 更多…
virtual bool isActive () const
virtual bool isBlendAdditive () const
virtual void setBlendAdditive (bool value)
virtual ParticleBatchNode getBatchNode () const
virtual void setBatchNode (ParticleBatchNode batchNode)
int getAtlasIndex () const
void setAtlasIndex (int index)
unsigned int getParticleCount () const
当前粒子数量 更多…
float getDuration () const
发射器运行多少时间。 -1表示永远 更多…
void setDuration (float duration)
const Vec2 & getSourcePosition () const
发射器原坐标 更多…
void setSourcePosition (const Vec2 &pos)
const Vec2 & getPosVar () const
发射器坐标变化区间 更多…
void setPosVar (const Vec2 &pos)
float getLife () const
生命周期 更多…
void setLife (float life)
float getLifeVar () const
生命变化区间 更多…
void setLifeVar (float lifeVar)
float getAngle () const
角度 更多…
void setAngle (float angle)
float getAngleVar () const
角度变化区间 更多…
void setAngleVar (float angleVar)
Mode getEmitterMode () const
在不同的发射器模式之间切换: 更多…
void setEmitterMode (Mode mode)
float getStartSize () const
粒子开始像素 更多…
void setStartSize (float startSize)
float getStartSizeVar () const
粒子开始像素变化区间 更多…
void setStartSizeVar (float sizeVar)
float getEndSize () const
粒子结束像素 更多…
void setEndSize (float endSize)
float getEndSizeVar () const
粒子结束像素变化区间 更多…
void setEndSizeVar (float sizeVar)
const Color4F & getStartColor () const
粒子开始颜色 更多…
void setStartColor (const Color4F &color)
const Color4F & getStartColorVar () const
粒子开始颜色变化区间 更多…
void setStartColorVar (const Color4F &color)
const Color4F & getEndColor () const
粒子结束颜色 更多…
void setEndColor (const Color4F &color)
const Color4F & getEndColorVar () const
粒子结束颜色变化区间 更多…
void setEndColorVar (const Color4F &color)
float getStartSpin () const
void setStartSpin (float spin)
float getStartSpinVar () const
void setStartSpinVar (float pinVar)
float getEndSpin () const
void setEndSpin (float endSpin)
float getEndSpinVar () const
void setEndSpinVar (float endSpinVar)
float getEmissionRate () const
粒子发射速率 更多…
void setEmissionRate (float rate)
virtual int getTotalParticles () const
最大粒子数量 更多…
virtual void setTotalParticles (int totalParticles)
void setOpacityModifyRGB (bool opacityModifyRGB)
alpha是否修改颜色值 更多…
bool isOpacityModifyRGB () const
CC_DEPRECATED_ATTRIBUTE bool getOpacityModifyRGB () const
PositionType getPositionType () const
粒子移动类型: Free 或 Grouped 更多…
void setPositionType (PositionType type)
virtual void onEnter () override
每次当Node进入“stage”时才调用事件回调。 如果Node进入“stage”状态时伴随着一个转换(transition),那么事件将会在这个转换开始的时候被调用。 在onEnter过程中,你不能够接入“sister/brother”兄妹节点。 如果你重写了onEnter方法,你应该调用它的父类,e.g., Node::onEnter(). 更多…
virtual void onExit () override
每次当Node离开“stage”时才调用事件回调。 如果Node离开“stage”状态时伴随着一个转换(transition), 那么事件将会在这个转换结束的时候被调用。 在onEnter过程中中你不能够接入一个兄妹节点。 如果你重写onExit, 你应该调用它的父类, e.g., Node::onExit(). 更多…
virtual void update (float dt) override
virtual Texture2D getTexture () const override
返回当前使用的所有的纹理 更多…
virtual void setTexture (Texture2D texture) override
设置一个新的纹理,在内部会进行一次retain 更多…
virtual void setBlendFunc (const BlendFunc &blendFunc) override
virtual const BlendFunc & getBlendFunc () const override
NA NA 更多…
virtual ~ParticleSystem ()
NA NA 更多…
bool init ()
初始化粒子系统 更多…
bool initWithFile (const std::string &plistFile)
从plist文件初始化粒子系统 plist可以手动创建,也可以用Particle Designer: http://particledesigner.71squared.com/ 更多…
bool initWithDictionary (ValueMap &dictionary)
从字典初始化粒子系统 更多…
bool initWithDictionary (ValueMap &dictionary, const std::string &dirname)
从字典初始化粒子系统,字典文件路径在dirname 更多…
virtual bool initWithTotalParticles (int numberOfParticles)
初始化一个固定数量的粒子系统。 更多…
- Public 成员函数 继承自 Node
virtual bool isRunning () const
返回节点是否是“running(活动的)”。 更多…
void scheduleUpdateWithPriorityLua (int handler, int priority)
lua script的时间表 NA 更多…
virtual void cleanup ()
暂停所有的活动着的动作和调度器。 更多…
virtual void draw (Renderer renderer, const Mat4 &transform, bool transformUpdated)
重写这个方法来绘制你自己的节点。 以下的GL状态是默认开启的: 更多…
virtual void draw () final
virtual void visit (Renderer renderer, const Mat4 &parentTransform, bool parentTransformUpdated)
访问节点的孩子,并且循环递归的绘制它们。 更多…
virtual void visit () final
virtual Scene getScene ()
返回包含Node(节点)的Scene(场景)。 如果这个节点不属于任何的场景,它将返回nullptr。 这个函数循环递归地调用parent->getScene() 直到父类是一个Scene对象。结果不会被缓存。只有当这个函数被用在一个循环中时,用户才会缓存这个结果。 更多…
virtual Rect getBoundingBox () const
返回 一个AABB(轴向包围盒)在它的父坐标系中。 更多…
virtual CC_DEPRECATED_ATTRIBUTE Rect boundingBox () const
virtual void setEventDispatcher (EventDispatcher dispatcher)
virtual EventDispatcher getEventDispatcher () const
virtual GLubyte getOpacity () const
virtual GLubyte getDisplayedOpacity () const
virtual void setOpacity (GLubyte opacity)
virtual void updateDisplayedOpacity (GLubyte parentOpacity)
virtual bool isCascadeOpacityEnabled () const
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
virtual const Color3B & getColor (void) const
virtual const Color3B & getDisplayedColor () const
virtual void setColor (const Color3B &color)
virtual void updateDisplayedColor (const Color3B &parentColor)
virtual bool isCascadeColorEnabled () const
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
virtual ~Node ()
virtual void setLocalZOrder (int localZOrder)
LocalZOrder是“key”(关键)来分辨节点和它兄弟节点的相关性。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
virtual int getLocalZOrder () const
得到这个节点的局部Z顺序 更多…
virtual CC_DEPRECATED_ATTRIBUTE int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
定义渲染节点的顺序 拥有全局Z顺序越小的节点,最先渲染 更多…
virtual float getGlobalZOrder () const
返回节点的全局Z顺序。 更多…
virtual float getScaleX () const
返回该节点的X轴的缩放因子。 更多…
virtual float getScaleY () const
返回该节点的Y轴的缩放因子。 更多…
virtual void setScaleZ (float scaleZ)
改变该节点的Z轴的缩放因子。 更多…
virtual float getScaleZ () const
返回该节点的梓州的缩放因子。 更多…
virtual float getScale () const
得到该节点的缩放因子,当X轴和Y轴有相同的缩放因子时。 更多…
virtual void setScale (float scaleX, float scaleY)
设置节点的缩放(x,y). 更多…
virtual void setPosition (const Vec2 &position)
设置节点的位置在父节点的坐标系系统中。 更多…
virtual const Vec2 & getPosition () const
得到在父节点坐标系中节点的位置(x,y)。 更多…
virtual void setPosition (float x, float y)
设置节点在它父节点坐标系中的位置(x,y)。 更多…
virtual void getPosition (float x, float y) const
用一个更有效率的方法设置位置,返回两个数字而不是Vec2对象。 更多…
virtual void setPositionX (float x)
分别得到或者设置位置的X或者Y轴坐标系 这些方法被绑定使用在在Lua和JavaScript。 更多…
virtual float getPositionX (void) const
virtual void setPositionY (float y)
virtual float getPositionY (void) const
virtual void setPosition3D (const Vec3 &position)
设置在父节点坐标系中的位置(x,y,z)。 更多…
virtual Vec3 getPosition3D () const
返回父坐标系的位置(X,Y,Z)。 更多…
virtual void setPositionZ (float positionZ)
设置位置的“z”轴坐标系,是OpneGL Z 定点值。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setVertexZ (float vertexZ)
virtual float getPositionZ () const
得到该节点的Z轴坐标系的位置。 更多…
virtual CC_DEPRECATED_ATTRIBUTE float getVertexZ () const
virtual void setSkewX (float skewX)
改变该节点X轴的倾斜角,单位是度。 更多…
virtual float getSkewX () const
返回该节点的X轴倾斜角,单位是度。 更多…
virtual void setSkewY (float skewY)
改变该节点Y轴的倾斜角,单位是度。 更多…
virtual float getSkewY () const
返回该节点的Y轴倾斜角,单位是度。 更多…
virtual void setAnchorPoint (const Vec2 &anchorPoint)
设置锚点,用百分比表示。 更多…
virtual const Vec2 & getAnchorPoint () const
返回用百分比表示的锚点。 更多…
virtual const Vec2 & getAnchorPointInPoints () const
返回绝对像素的锚点 更多…
virtual void setContentSize (const Size &contentSize)
设置不转换节点的大小。 更多…
virtual const Size & getContentSize () const
返回未转换节点的大小。 更多…
virtual void setVisible (bool visible)
设置节点是否可见。 更多…
virtual bool isVisible () const
决定节点是否可见。 更多…
virtual float getRotation () const
返回节点的旋转角度。 更多…
virtual void setRotation3D (const Vec3 &rotation)
设置(X,Y,Z)旋转角度。 对3d旋转非常有用。 更多…
virtual Vec3 getRotation3D () const
返回(X,Y,Z)的旋转角度。 更多…
virtual void setRotationSkewX (float rotationX)
设置节点X轴的旋转角度,表现为水平旋转倾斜。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setRotationX (float rotationX)
virtual float getRotationSkewX () const
得到X轴节点的旋转角度,表现为水平旋转倾斜(horizontal rotation skew). 更多…
virtual CC_DEPRECATED_ATTRIBUTE float getRotationX () const
virtual void setRotationSkewY (float rotationY)
设置Y轴节点的旋转角度,表现为垂直旋转倾斜。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setRotationY (float rotationY)
virtual float getRotationSkewY () const
得到节点Y轴的旋转角度,表现为垂直旋转倾斜(vertical rotational skew. 更多…
virtual CC_DEPRECATED_ATTRIBUTE float getRotationY () const
void setOrderOfArrival (int orderOfArrival)
设置到达顺序,当这个节点和其他子节点有相同的ZOrder时。 更多…
int getOrderOfArrival () const
返回到达顺序,指出哪一个子类先被添加。 更多…
CC_DEPRECATED_ATTRIBUTE void setGLServerState (int serverState)
CC_DEPRECATED_ATTRIBUTE int getGLServerState () const
virtual void ignoreAnchorPointForPosition (bool ignore)
设置抹点为(0,0)当你摆放这个节点的时候。 更多…
virtual bool isIgnoreAnchorPointForPosition () const
得到节点的锚点是否为(0,0),当你摆放这个节点时。 更多…
virtual void addChild (Node child)
添加一个子节点到容器内,z-order是0. 更多…
virtual void addChild (Node child, int localZOrder)
添加一个子节点到容器中,参数有一个局部Z轴顺序。 更多…
virtual void addChild (Node child, int localZOrder, int tag)
添加一个子节点到容器中,有Z轴顺序和一个标记。 更多…
virtual Node getChildByTag (int tag)
从容器中得到一个子节点通过它的标记。 更多…
virtual Vector< Node > & getChildren ()
返回子节点数组。 更多…
virtual const Vector< Node > & getChildren () const
virtual ssize_t getChildrenCount () const
返回子节点的总数 更多…
virtual void setParent (Node parent)
设置父节点Sets the parent node 更多…
virtual Node getParent ()
返回指向父节点的指针。 更多…
virtual const Node getParent () const
virtual void removeFromParent ()
从父节点中删除一个节点,有一个cleanup参数。 如果这个节点是一个孤节点,那么什么都不会发生。 更多…
virtual void removeFromParentAndCleanup (bool cleanup)
从父节点中删除一个节点 如果这个节点是一个孤节点,那么什么都不会发生。 更多…
virtual void removeChild (Node child, bool cleanup=true)
从容器中删除一个孩子,取决于cleanup参数同时会清除所有的活动的动作。 更多…
virtual void removeChildByTag (int tag, bool cleanup=true)
从一个容器中删除一个孩子通过标记值。取决于cleanup参数同时会清除所有的活动的动作。 更多…
virtual void removeAllChildren ()
从容器中删除所有的孩子,with a cleanup。 更多…
virtual void removeAllChildrenWithCleanup (bool cleanup)
从容器中删除所有的孩子, 取决于cleanup参数同时会清除所有的活动的动作。 更多…
virtual void reorderChild (Node child, int localZOrder)
对一个孩子重新排序,设定一个新的z轴的值。 更多…
virtual void sortAllChildren ()
在绘画之前,排列所有的孩子数组一次,而不是每次添加或者删除子节点时都排序。 这个方法可以大量地提高性能。 更多…
virtual int getTag () const
返回一个用来更简单分辨节点的标记。 更多…
virtual void setTag (int tag)
改变这个用来更容易分辨节点的标记。 更多…
virtual void getUserData ()
返回一个自定义用户数据的指针。 更多…
virtual const void getUserData () const
NA NA 更多…
virtual void setUserData (void userData)
设置一个自定义用户数据的指针。 更多…
virtual Ref getUserObject ()
返回一个用户分配的对象 更多…
virtual const Ref getUserObject () const
NA NA 更多…
virtual void setUserObject (Ref userObject)
返回一个用户分配的对象 更多…
GLProgram getGLProgram ()
返回当前用于这个节点的GLProgram (shader) 更多…
CC_DEPRECATED_ATTRIBUTE GLProgram getShaderProgram ()
GLProgramState getGLProgramState ()
void setGLProgramState (GLProgramState glProgramState)
void setGLProgram (GLProgram glprogram)
为这个节点设置着色器程序 更多…
CC_DEPRECATED_ATTRIBUTE void setShaderProgram (GLProgram glprogram)
virtual void onEnterTransitionDidFinish ()
每次当Node进入“stage”时才调用事件回调。 如果Node进入“stage”状态时伴随着一个转换(transition),那么事件将会在这个转换结束的时候被调用。 如果你重写了onEnterTransitionDidFinish方法 你应该调用它的父类, e.g. 更多…
virtual void onExitTransitionDidStart ()
每次当Node离开“stage”时才调用事件回调。 如果Node离开“stage”状态时伴随着一个转换(transition), 那么事件将会在这个转换开始的时候被调用。 NA NA 更多…
virtual void setActionManager (ActionManager actionManager)
设置被所有动作使用的ActionManager对象。 更多…
virtual ActionManager getActionManager ()
得到被所有动作使用的ActionManager对象。 更多…
virtual const ActionManager getActionManager () const
Action runAction (Action action)
执行一个动作,并且返回执行的该动作。 更多…
void stopAllActions ()
停止并且删除所有的动作从活动动作列表中。 更多…
void stopAction (Action action)
停止并且删除所有的动作从活动动作列表中。 更多…
void stopActionByTag (int tag)
通过动作的标记从活动动作列表中删除一个动作。 更多…
Action getActionByTag (int tag)
通过动作的标记从活动动作列表中得到一个动作。 更多…
ssize_t getNumberOfRunningActions () const
返回活动着的动作加上正在调度运行的动作的总数 (在actionsToAdd状态的动作和动作数组中的). 更多…
CC_DEPRECATED_ATTRIBUTE ssize_t numberOfRunningActions () const
virtual void setScheduler (Scheduler scheduler)
设置一个调度器对象来用于调度所有的“update”和定时器。 更多…
virtual Scheduler getScheduler ()
得到调度器对象。 更多…
virtual const Scheduler getScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
检查是否一个选择器是预定的。 更多…
void scheduleUpdate (void)
调度“update”方法。 更多…
void scheduleUpdateWithPriority (int priority)
调度这个"update"方法伴随着一个自定义优先级。 更多…
void unscheduleUpdate (void)
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
调度一个自定义的选择器。 更多…
void schedule (SEL_SCHEDULE selector, float interval)
调度一个自定义的选择器伴随着一个以秒为单位的内部时间。 更多…
void scheduleOnce (SEL_SCHEDULE selector, float delay)
调度一个只运行一次的选择器,伴随着一个0或者更大的延期。 更多…
void schedule (SEL_SCHEDULE selector)
调度一个自定义的选择器,这个调度后的选择器将会以每帧为时间间隔。 更多…
void unschedule (SEL_SCHEDULE selector)
不调度一个自定义的选择器。 更多…
void unscheduleAllSelectors (void)
不调度所有的调度过的选择器: 自定义选择器, 和 'update' 选择器。 动作不受这个方法的影响。 NA 更多…
void resume (void)
恢复所有的调度过的选择器,动作和事件监听器。 这个方法被onEnter方法在内部调用。 更多…
void pause (void)
暂停所有的调度过的选择器,动作和事件监听器。 这个方法被onExit方法在内部调用。 更多…
CC_DEPRECATED_ATTRIBUTE void resumeSchedulerAndActions (void)
恢复所有的调度过的选择器,动作和事件监听器。 这个方法被onEnter方法在内部调用。 更多…
CC_DEPRECATED_ATTRIBUTE void pauseSchedulerAndActions (void)
暂停所有的调度过的选择器,动作和事件监听器。 这个方法被onExit方法在内部调用。 更多…
virtual void updateTransform ()
递归的调用孩子的updateTransform()方法。 更多…
virtual const Mat4 & getNodeToParentTransform () const
返回这个将节点(局部)的空间坐标系转换成父节点的空间坐标系的矩阵。 这个矩阵以像素为单位。 更多…
virtual AffineTransform getNodeToParentAffineTransform () const
virtual void setNodeToParentTransform (const Mat4 &transform)
手动设置变换矩阵。 更多…
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform nodeToParentTransform () const
virtual const Mat4 & getParentToNodeTransform () const
返回这个将父节点的空间坐标系转换成节点(局部)的空间坐标系转的矩阵。 这个矩阵以像素为单位。 更多…
virtual AffineTransform getParentToNodeAffineTransform () const
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform parentToNodeTransform () const
virtual Mat4 getNodeToWorldTransform () const
返回世界仿射变换矩阵。矩阵单位是像素。 更多…
virtual AffineTransform getNodeToWorldAffineTransform () const
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform nodeToWorldTransform () const
virtual Mat4 getWorldToNodeTransform () const
返回逆世界仿射变换矩阵。矩阵单位是像素。 更多…
virtual AffineTransform getWorldToNodeAffineTransform () const
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform worldToNodeTransform () const
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
将Vec2 转换成节点 (局部) 空间坐标系。结果按以Points为单位。 更多…
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
将Vec2转换成世界空间坐标系。结果按以Points为单位。 更多…
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
将Vec2转换成节点(局部)空间坐标系. 更多…
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
将局部的Vec2转换成世界空间坐标系。结果按以Points为单位。 将returned/received节点的point当作相对应的锚点。 更多…
Vec2 convertTouchToNodeSpace (Touch touch) const
一个方便的方法将触摸转换成Vec2 更多…
Vec2 convertTouchToNodeSpaceAR (Touch touch) const
将Touch (世界坐标系) 转换成局部坐标系。这个方法是AR (相对的锚点). 更多…
void setAdditionalTransform (Mat4 additionalTransform)
为节点设置一个附加转换矩阵。 更多…
void setAdditionalTransform (const AffineTransform &additionalTransform)
Component getComponent (const std::string &pName)
通过名字得到组件 更多…
virtual bool addComponent (Component pComponent)
添加一个组件 更多…
virtual bool removeComponent (const std::string &pName)
通过名字删除一个组件 更多…
virtual void removeAllComponents ()
删除所有组件 更多…
virtual std::string getDescription () const
得到描述性的字符串。这将会使得调试更加简单。 更多…
- Public 成员函数 继承自 Ref
void retain ()
保留所有权. 更多…
void release ()
立即释放所有权. 更多…
Ref autorelease ()
自动释放所有权在不久的将来. 更多…
unsigned int getReferenceCount () const
返回Ref对象当前的引用计数. 更多…
virtual ~Ref ()
NA NA 更多…
- Public 成员函数 继承自 TextureProtocol
virtual ~TextureProtocol ()
- Public 成员函数 继承自 BlendProtocol
virtual ~BlendProtocol ()
## 静态 Public 成员函数
static ParticleSystem create (const std::string &plistFile)
从plist创建并初始化一个粒子系统 plist可以手动创建或从Particle Designer创建: http://particledesigner.71squared.com/ 更多…
static ParticleSystem createWithTotalParticles (int numberOfParticles)
创建固定数量的粒子系统 更多…
- 静态 Public 成员函数 继承自 Node
static Node * create (void)
分配并且初始化一个节点. 更多…
## Public 属性
CC_CONSTRUCTOR_ACCESS pad0: ParticleSystem()
- Public 属性 继承自 Node
CC_CONSTRUCTOR_ACCESS pad0: Node()
## Protected 成员函数
virtual void updateBlendFunc ()
- Protected 成员函数 继承自 Node
void childrenAlloc (void)
较慢的分配 更多…
void insertChild (Node child, int z)
记录孩子的助手 更多…
void detachChild (Node child, ssize_t index, bool doCleanup)
删除一个孩子,调用child->onExit(), 从子数列中做清理,并删除它。 更多…
Vec2 convertToWindowSpace (const Vec2 &nodePoint) const
转换cocos2d 坐标系到用户界面窗口坐标 更多…
Mat4 transform (const Mat4 &parentTransform)
virtual void updateCascadeOpacity ()
virtual void disableCascadeOpacity ()
virtual void updateCascadeColor ()
virtual void disableCascadeColor ()
virtual void updateColor ()
- Protected 成员函数 继承自 Ref
Ref ()
构造函数 更多…
## Protected 属性
bool _isBlendAdditive
是否粒子被混合 如何是下面的代码将被调用 更多…
bool _isAutoRemoveOnFinish
粒子发生器是否在生命结束的时候自动移除 By default it is false. 更多…
std::string _plistFile
float _elapsed
消逝时间(秒) 更多…
struct {
Vec2 gravity
引力值 更多…
float speed
每个粒子的速度 更多…
float speedVar
速度变化区间 更多…
float tangentialAccel
切向加速度 更多…
float tangentialAccelVar
切向加速度变化区间 更多…
float radialAccel
径向加速度 更多…
float radialAccelVar
径向加速度变化区间 更多…
bool rotationIsDir
是否旋转 更多…
} modeA
模式A:引力 + 切向加速度 + 径向加速度 更多…
struct {
float startRadius
初始半径 更多…
float startRadiusVar
初始半径变化区间 更多…
float endRadius
结束半径 更多…
float endRadiusVar
结束半径变化区间 更多…
float rotatePerSecond
每秒旋转的角度 更多…
float rotatePerSecondVar
每秒旋转的角度变化区间 更多…
} modeB
模式 更多…
tParticle _particles
粒子数组 更多…
std::string _configName
float _emitCounter
每秒发射的粒子数量 更多…
int _particleIdx
粒子idx值 更多…
ParticleBatchNode _batchNode
弱引用渲染精灵的SpriteBatchNode 更多…
int _atlasIndex
bool _transformSystemDirty
int _allocatedParticles
bool _isActive
是否发射器激活 更多…
int _particleCount
当前的粒子数量 更多…
float _duration
发射器运行多少时间。 -1 永远 更多…
Vec2 _sourcePosition
发射器原位置 更多…
Vec2 _posVar
发射器位置变化范围 更多…
float _life
粒子生命 更多…
float _lifeVar
粒子生命变化区间 更多…
float _angle
粒子角度 更多…
float _angleVar
粒子角度变化区间 更多…
Mode _emitterMode
发射器不同模式: 更多…
float _startSize
开始大小 更多…
float _startSizeVar
开始大小变化区间 更多…
float _endSize
结束大小 更多…
float _endSizeVar
结束大小变化区间 更多…
Color4F _startColor
开始颜色 更多…
Color4F _startColorVar
开始颜色变化区间 更多…
Color4F _endColor
结束颜色 更多…
Color4F _endColorVar
结束颜色变化区间 更多…
float _startSpin
float _startSpinVar
float _endSpin
float _endSpinVar
float _emissionRate
发射频率 更多…
int _totalParticles
最大粒子数 更多…
Texture2D _texture
纹理 更多…
BlendFunc _blendFunc
blend协议函数 更多…
bool _opacityModifyRGB
alpha是否改变RGB值 更多…
int _yCoordFlipped
FlippedY是否影响所有粒子 更多…
PositionType _positionType
粒子移动类型: Free 或 Grouped 更多…
- Protected 属性 继承自 Node
float _rotationX
X轴的旋转 更多…
float _rotationY
Y轴的旋转 更多…
float _rotationZ_X
旋转角度在Z轴,组件X轴 更多…
float _rotationZ_Y
旋转角度在Z轴,组件Y轴 更多…
float _scaleX
X轴的缩放因子 更多…
float _scaleY
Y轴的缩放因子 更多…
float _scaleZ
Z轴的缩放因子 更多…
Vec2 _position
节点的位置 更多…
float _positionZ
OpenGL 真正Z轴坐标位置 更多…
float _skewX
X轴的倾斜角 更多…
float _skewY
Y轴的倾斜角 更多…
Vec2 _anchorPointInPoints
锚点以points为单位 更多…
Vec2 _anchorPoint
正常的锚点(不是以points为单位的) 更多…
Size _contentSize
未转换节点的大小 更多…
Mat4 _modelViewTransform
节点的模型视图变换 更多…
Mat4 _transform
变换 更多…
bool _transformDirty
transform dirty flag 更多…
Mat4 _inverse
逆变换 更多…
bool _inverseDirty
inverse transform dirty flag 更多…
Mat4 _additionalTransform
变换 更多…
bool _useAdditionalTransform
The flag to check whether the additional transform is dirty. 更多…
bool _transformUpdated
是否Transform 对象在最后一帧更新了 更多…
int _localZOrder
Local 顺序 (和兄妹节点相关) 被用于节点的排序 更多…
float _globalZOrder
Global 顺序 用于节点的排序 更多…
Vector< Node > _children
子节点数列 更多…
Node _parent
父节点的弱引用 更多…
int _tag
一个标记. 你可以定义任何的数字来分辨这个节点 更多…
std::string _name
一个字符串标签, 一个用户定义的字符串来分辨这个节点 更多…
void _userData
一个用户分配的空指针,能够指向任何cpp对象 更多…
Ref _userObject
一个用户分配的对象 更多…
GLProgramState _glProgramState
OpenGL Program State. 更多…
int _orderOfArrival
用于保存序列当对有相同localZOrder的子节点进行排序 更多…
Scheduler _scheduler
调度器用于调度定时器和更新 更多…
ActionManager _actionManager
一个指向ActionManager singleton模式的指针, 用于操作所有的动作。 更多…
EventDispatcher _eventDispatcher
事件调度器使用调度各种事件 更多…
bool _running
活动中 更多…
bool _visible
节点可见 更多…
bool _ignoreAnchorPointForPosition
true 如果锚点 Vec2 是 (0,0) 当你拜访节点时, false则不是(0,0) 更多…
bool _reorderChildDirty
children order dirty flag 更多…
bool _isTransitionFinished
一个表明转换是否完成的标记 更多…
ComponentContainer _componentContainer
Dictionary of components. 更多…
GLubyte _displayedOpacity
GLubyte _realOpacity
Color3B _displayedColor
Color3B _realColor
bool _cascadeColorEnabled
bool _cascadeOpacityEnabled
- Protected 属性 继承自 Ref
unsigned int _referenceCount
引用计数 更多…
## 额外继承的成员函数
- 静态 Public 属性 继承自 Node
static const int INVALID_TAG = -1
默认的标记用于所有的节点 更多…
- 静态 Protected 属性 继承自 Node
static int s_globalOrderOfArrival

详细描述

粒子系统基类 粒子系统属性:

  • 粒子排放速率
  • 引力模式 (Mode A):
  • 引力
  • 方向
  • 速度 +- 范围
  • 切向加速度 +- 范围
  • 径向加速度 +- 范围
  • 半径模式 (Mode B):
  • 开始半径 +- 范围
  • 结束半径 +- 范围
  • 旋转 +- 范围
  • 所有模式公用属性:
  • 生命 +- 生命范围
  • 开始旋角 +- 范围
  • 结束旋角 +- 范围
  • 开始大小 +- 范围
  • 结束大小 +- 范围
  • 开始颜色 +- 范围
  • 结束颜色 +- 范围
  • 生命 +- 范围
  • 绑定函数
  • 纹理

Cocos2d-x支持由Particle Designer (http://particledesigner.71squared.com/)生成的粒子. Particle Designer中的'Radius Mode'的发射速率被固定在30 hz,因为它在Cocos2d-x中不能被保障。 Cocos2d-x使用另一种方式,但是结果是一致的。

Cocos2d-x支持所有Particle Designer变量,并支持:

  • 纺织粒子 (ParticleSystemQuad使用)
  • 切向加速度 (引力模式)
  • 径向加速度 (引力模式)
  • 半径方向 (半径模式) (Particle Designer只支持由外向内的方向)

你可以在运行时修改所有以上提到的属性。例如:

emitter.radialAccel = 15;

emitter.startSpin = 0;

成员枚举类型说明

anonymous enum
枚举值
DURATION_INFINITY 粒子发生器一直存在
START_SIZE_EQUAL_TO_END_SIZE 开始大小和结束大小相等
START_RADIUS_EQUAL_TO_END_RADIUS 开始半径和结束半径相等

enum Mode

strong

枚举值
GRAVITY
RADIUS

enum PositionType

strong

粒子可能的位置类型

枚举值
FREE 粒子添加到世界后,不会受到发射定位的影响
RELATIVE 粒子添加到世界后,受到发射定位的影响 用例: 添加一个发射器到一个精灵,并让发射器随精灵的移动而移动。
GROUPED 粒子附着在发生器上并随它一起移动

构造及析构函数说明

virtual ~ParticleSystem ( )

virtual

NA NA

成员函数说明

bool addParticle ( )

添加一个粒子到发射器

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

static

从plist创建并初始化一个粒子系统 plist可以手动创建或从Particle Designer创建: http://particledesigner.71squared.com/

  • 自从
  • v2.0

static ParticleSystem* createWithTotalParticles ( int numberOfParticles)

static

创建固定数量的粒子系统

float getAngle ( ) const

inline

角度

float getAngleVar ( ) const

inline

角度变化区间

int getAtlasIndex ( ) const

inline

virtual ParticleBatchNode* getBatchNode ( ) const

virtual

virtual const BlendFunc& getBlendFunc ( ) const

overridevirtual

NA NA

实现了 BlendProtocol.

float getDuration ( ) const

inline

发射器运行多少时间。 -1表示永远

float getEmissionRate ( ) const

inline

粒子发射速率

Mode getEmitterMode ( ) const

inline

在不同的发射器模式之间切换:

  • kParticleModeGravity: 引力模式
  • kParticleModeRadius: 半径模式

const Color4F& getEndColor ( ) const

inline

粒子结束颜色

const Color4F& getEndColorVar ( ) const

inline

粒子结束颜色变化区间

virtual float getEndRadius ( ) const

virtual

virtual float getEndRadiusVar ( ) const

virtual

float getEndSize ( ) const

inline

粒子结束像素

float getEndSizeVar ( ) const

inline

粒子结束像素变化区间

float getEndSpin ( ) const

inline

float getEndSpinVar ( ) const

inline

virtual const Vec2& getGravity ( )

virtual

float getLife ( ) const

inline

生命周期

float getLifeVar ( ) const

inline

生命变化区间

CC_DEPRECATED_ATTRIBUTE bool getOpacityModifyRGB ( ) const

inline

unsigned int getParticleCount ( ) const

inline

当前粒子数量

PositionType getPositionType ( ) const

inline

粒子移动类型: Free 或 Grouped

  • 自从
  • v0.8

const Vec2& getPosVar ( ) const

inline

发射器坐标变化区间

virtual float getRadialAccel ( ) const

virtual

virtual float getRadialAccelVar ( ) const

virtual

virtual float getRotatePerSecond ( ) const

virtual

virtual float getRotatePerSecondVar ( ) const

virtual

virtual bool getRotationIsDir ( ) const

virtual

const Vec2& getSourcePosition ( ) const

inline

发射器原坐标

virtual float getSpeed ( ) const

virtual

virtual float getSpeedVar ( ) const

virtual

const Color4F& getStartColor ( ) const

inline

粒子开始颜色

const Color4F& getStartColorVar ( ) const

inline

粒子开始颜色变化区间

virtual float getStartRadius ( ) const

virtual

virtual float getStartRadiusVar ( ) const

virtual

float getStartSize ( ) const

inline

粒子开始像素

float getStartSizeVar ( ) const

inline

粒子开始像素变化区间

float getStartSpin ( ) const

inline

float getStartSpinVar ( ) const

inline

virtual float getTangentialAccel ( ) const

virtual

virtual float getTangentialAccelVar ( ) const

virtual

virtual Texture2D* getTexture ( ) const

overridevirtual

返回当前使用的所有的纹理

  • 返回
  • 当前使用的纹理 NA NA

实现了 TextureProtocol.

virtual int getTotalParticles ( ) const

virtual

最大粒子数量

bool init ( )

virtual

初始化粒子系统

重载 Node .

void initParticle ( tParticle * particle)

初始化一个粒子

bool initWithDictionary ( ValueMap & dictionary)

从字典初始化粒子系统

  • 自从
  • v0.99.3

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

从字典初始化粒子系统,字典文件路径在dirname

  • 自从
  • v2.1

bool initWithFile ( const std::string & plistFile)

从plist文件初始化粒子系统 plist可以手动创建,也可以用Particle Designer: http://particledesigner.71squared.com/

  • 自从
  • v0.99.3

virtual bool initWithTotalParticles ( int numberOfParticles)

virtual

初始化一个固定数量的粒子系统。

ParticleRain, ParticleSnow, ParticleSmoke, ParticleExplosion, ParticleSpiral, ParticleMeteor, ParticleFlower, ParticleSystemQuad, ParticleGalaxy, ParticleSun, ParticleFireworks , 以及 ParticleFire 重载.

virtual bool isActive ( ) const

virtual

virtual bool isAutoRemoveOnFinish ( ) const

virtual

virtual bool isBlendAdditive ( ) const

virtual

bool isFull ( )

系统是否满了

bool isOpacityModifyRGB ( void ) const

inlinevirtual

重载 Node .

virtual void onEnter ( )

overridevirtual

每次当Node进入“stage”时才调用事件回调。 如果Node进入“stage”状态时伴随着一个转换(transition),那么事件将会在这个转换开始的时候被调用。 在onEnter过程中,你不能够接入“sister/brother”兄妹节点。 如果你重写了onEnter方法,你应该调用它的父类,e.g., Node::onEnter().

NA NA

重载 Node .

virtual void onExit ( )

overridevirtual

每次当Node离开“stage”时才调用事件回调。 如果Node离开“stage”状态时伴随着一个转换(transition), 那么事件将会在这个转换结束的时候被调用。 在onEnter过程中中你不能够接入一个兄妹节点。 如果你重写onExit, 你应该调用它的父类, e.g., Node::onExit().

NA NA

重载 Node .

virtual void postStep ( )

virtual

必须被子类重写

ParticleSystemQuad 重载.

void resetSystem ( )

停止所有活着的粒子

void setAngle ( float angle)

inline

void setAngleVar ( float angleVar)

inline

void setAtlasIndex ( int index)

inline

virtual void setAutoRemoveOnFinish ( bool var)

virtual

virtual void setBatchNode ( ParticleBatchNode * batchNode)

virtual

ParticleSystemQuad 重载.

virtual void setBlendAdditive ( bool value)

virtual

virtual void setBlendFunc ( const BlendFunc & blendFunc)

overridevirtual

*当这个函数绑定到js或lub,参数会变化。

*js中: var setBlendFunc(var src, var dst)

*lua中: local setBlendFunc(local src, local dst)

实现了 BlendProtocol.

void setDuration ( float duration)

inline

void setEmissionRate ( float rate)

inline

void setEmitterMode ( Mode mode)

inline

void setEndColor ( const Color4F & color)

inline

void setEndColorVar ( const Color4F & color)

inline

virtual void setEndRadius ( float endRadius)

virtual

virtual void setEndRadiusVar ( float endRadiusVar)

virtual

void setEndSize ( float endSize)

inline

void setEndSizeVar ( float sizeVar)

inline

void setEndSpin ( float endSpin)

inline

void setEndSpinVar ( float endSpinVar)

inline

virtual void setGravity ( const Vec2 & g)

virtual

void setLife ( float life)

inline

void setLifeVar ( float lifeVar)

inline

void setOpacityModifyRGB ( bool opacityModifyRGB)

inlinevirtual

alpha是否修改颜色值

重载 Node .

void setPositionType ( PositionType type)

inline

void setPosVar ( const Vec2 & pos)

inline

virtual void setRadialAccel ( float t)

virtual

virtual void setRadialAccelVar ( float t)

virtual

virtual void setRotatePerSecond ( float degrees)

virtual

virtual void setRotatePerSecondVar ( float degrees)

virtual

virtual void setRotation ( float rotation)

virtual

设置节点的旋转(angle)角度。

0 是默认的旋转角度。 负数顺时针旋转节点,正数逆时针旋转节点。

  • 参数
  • rotation节点的旋转角度。

重载 Node .

virtual void setRotationIsDir ( bool t)

virtual

virtual void setScale ( float scale)

virtual

设置几点的缩放(x,y,z).

缩放因子将会乘以该节点和它子节点的宽,高和深度。

  • 参数
  • scaleX轴和Y轴的缩放因子

重载 Node .

virtual void setScaleX ( float scaleX)

virtual

设置节点的缩放(x)。

它是一个缩放因子,将会乘以节点的宽以及它的子节点。

  • 参数
  • scaleXX轴的缩放因子.

重载 Node .

virtual void setScaleY ( float scaleY)

virtual

设置节点的缩放(y)。

它是一个缩放因子,将会乘以节点的宽以及它的子节点。

  • 参数
  • scaleYY轴的缩放因子

重载 Node .

void setSourcePosition ( const Vec2 & pos)

inline

virtual void setSpeed ( float speed)

virtual

virtual void setSpeedVar ( float speed)

virtual

void setStartColor ( const Color4F & color)

inline

void setStartColorVar ( const Color4F & color)

inline

virtual void setStartRadius ( float startRadius)

virtual

virtual void setStartRadiusVar ( float startRadiusVar)

virtual

void setStartSize ( float startSize)

inline

void setStartSizeVar ( float sizeVar)

inline

void setStartSpin ( float spin)

inline

void setStartSpinVar ( float pinVar)

inline

virtual void setTangentialAccel ( float t)

virtual

virtual void setTangentialAccelVar ( float t)

virtual

virtual void setTexture ( Texture2D * texture)

overridevirtual

设置一个新的纹理,在内部会进行一次retain

  • 参数
  • texture有效的Texture2D对象 NA NA

实现了 TextureProtocol.

ParticleSystemQuad 重载.

virtual void setTotalParticles ( int totalParticles)

virtual

ParticleSystemQuad 重载.

void stopSystem ( )

停止发射粒子

virtual void update ( float dt)

overridevirtual

重载 Node .

virtual void updateBlendFunc ( )

protectedvirtual

virtual void updateQuadWithParticle ( tParticle * particle,
const Vec2 & newPosition
)

virtual

必须被子类重写

ParticleSystemQuad 重载.

virtual void updateWithNoTime ( void )

virtual

类成员变量说明

CC_CONSTRUCTOR_ACCESS pad0

int _allocatedParticles

protected

float _angle

protected

粒子角度

float _angleVar

protected

粒子角度变化区间

int _atlasIndex

protected

ParticleBatchNode* _batchNode

protected

弱引用渲染精灵的SpriteBatchNode

BlendFunc _blendFunc

protected

blend协议函数

std::string _configName

protected

float _duration

protected

发射器运行多少时间。 -1 永远

float _elapsed

protected

消逝时间(秒)

float _emissionRate

protected

发射频率

float _emitCounter

protected

每秒发射的粒子数量

Mode _emitterMode

protected

发射器不同模式:

  • kParticleModeGravity: 引力模式
  • kParticleModeRadius: 半径模式

Color4F _endColor

protected

结束颜色

Color4F _endColorVar

protected

结束颜色变化区间

float _endSize

protected

结束大小

float _endSizeVar

protected

结束大小变化区间

float _endSpin

protected

float _endSpinVar

protected

bool _isActive

protected

是否发射器激活

bool _isAutoRemoveOnFinish

protected

粒子发生器是否在生命结束的时候自动移除 By default it is false.

  • 自从
  • v0.8

bool _isBlendAdditive

protected

是否粒子被混合 如何是下面的代码将被调用

source blend function = GL_SRC_ALPHA;

dest blend function = GL_ONE;

float _life

protected

粒子生命

float _lifeVar

protected

粒子生命变化区间

bool _opacityModifyRGB

protected

alpha是否改变RGB值

int _particleCount

protected

当前的粒子数量

int _particleIdx

protected

粒子idx值

tParticle* _particles

protected

粒子数组

std::string _plistFile

protected

PositionType _positionType

protected

粒子移动类型: Free 或 Grouped

  • 自从
  • v0.8

Vec2 _posVar

protected

发射器位置变化范围

Vec2 _sourcePosition

protected

发射器原位置

Color4F _startColor

protected

开始颜色

Color4F _startColorVar

protected

开始颜色变化区间

float _startSize

protected

开始大小

float _startSizeVar

protected

开始大小变化区间

float _startSpin

protected

float _startSpinVar

protected

Texture2D* _texture

protected

纹理

int _totalParticles

protected

最大粒子数

bool _transformSystemDirty

protected

int _yCoordFlipped

protected

FlippedY是否影响所有粒子

float endRadius

结束半径

float endRadiusVar

结束半径变化区间

Vec2 gravity

引力值

struct { … } modeA

模式A:引力 + 切向加速度 + 径向加速度

struct { … } modeB

模式

float radialAccel

径向加速度

float radialAccelVar

径向加速度变化区间

float rotatePerSecond

每秒旋转的角度

float rotatePerSecondVar

每秒旋转的角度变化区间

bool rotationIsDir

是否旋转

float speed

每个粒子的速度

float speedVar

速度变化区间

float startRadius

初始半径

float startRadiusVar

初始半径变化区间

float tangentialAccel

切向加速度

float tangentialAccelVar

切向加速度变化区间


该类的文档由以下文件生成: