cocos2d-x  2.1.1

CCLayer is a subclass of CCNode that implements the TouchEventsDelegate protocol. More...

#include <CCLayer.h>

Inheritance diagram for CCLayer:
CCNode CCTouchDelegate CCAccelerometerDelegate CCKeypadDelegate CCObject CCCopying CCLayerColor CCLayerMultiplex CCMenu CCControl CCScrollView CCLayerGradient CCControlButton CCControlColourPicker CCControlHuePicker CCControlPotentiometer CCControlSaturationBrightnessPicker CCControlSlider CCControlStepper CCControlSwitch CCTableView

Public Member Functions

 CCLayer ()
 
virtual ~CCLayer ()
 
virtual bool init ()
 
virtual void onEnter ()
 Event callback that is invoked every time when CCNode enters the 'stage'.
 
virtual void onExit ()
 Event callback that is invoked every time the CCNode leaves the 'stage'.
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the CCNode enters in the 'stage'.
 
virtual bool ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent)
 
virtual void ccTouchMoved (CCTouch *pTouch, CCEvent *pEvent)
 
virtual void ccTouchEnded (CCTouch *pTouch, CCEvent *pEvent)
 
virtual void ccTouchCancelled (CCTouch *pTouch, CCEvent *pEvent)
 
virtual void ccTouchesBegan (CCSet *pTouches, CCEvent *pEvent)
 
virtual void ccTouchesMoved (CCSet *pTouches, CCEvent *pEvent)
 
virtual void ccTouchesEnded (CCSet *pTouches, CCEvent *pEvent)
 
virtual void ccTouchesCancelled (CCSet *pTouches, CCEvent *pEvent)
 
virtual void didAccelerate (CCAcceleration *pAccelerationValue)
 
void registerScriptAccelerateHandler (int nHandler)
 
void unregisterScriptAccelerateHandler (void)
 
virtual void registerWithTouchDispatcher (void)
 If isTouchEnabled, this method is called onEnter.
 
virtual void registerScriptTouchHandler (int nHandler, bool bIsMultiTouches=false, int nPriority=INT_MIN, bool bSwallowsTouches=false)
 Register script touch events handler.
 
virtual void unregisterScriptTouchHandler (void)
 Unregister script touch events handler.
 
virtual bool isTouchEnabled ()
 whether or not it will receive Touch events.
 
virtual void setTouchEnabled (bool value)
 
virtual void setTouchMode (ccTouchesMode mode)
 
virtual int getTouchMode ()
 
virtual void setTouchPriority (int priority)
 priority of the touch events.
 
virtual int getTouchPriority ()
 
virtual bool isAccelerometerEnabled ()
 
whether or not it will receive Accelerometer events

You can enable / disable accelerometer events with this property.

 
virtual void setAccelerometerEnabled (bool value)
 
virtual void setAccelerometerInterval (double interval)
 
virtual bool isKeypadEnabled ()
 
whether or not it will receive keypad events

You can enable / disable accelerometer events with this property.

 
virtual void setKeypadEnabled (bool value)
 
void registerScriptKeypadHandler (int nHandler)
 Register keypad events handler.
 
void unregisterScriptKeypadHandler (void)
 Unregister keypad events handler.
 
virtual void keyBackClicked (void)
 
virtual void keyMenuClicked (void)
 
CCTouchScriptHandlerEntrygetScriptTouchHandlerEntry ()
 
CCScriptHandlerEntrygetScriptKeypadHandlerEntry ()
 
CCScriptHandlerEntrygetScriptAccelerateHandlerEntry ()
 
- Public Member Functions inherited from CCNode
virtual CCCameragetCamera ()
 Returns a camera object that lets you move the node using a gluLookAt.
 
virtual bool isRunning ()
 Returns whether or not the node accepts event callbacks.
 
virtual void cleanup (void)
 Stops all running actions and schedulers.
 
virtual void draw (void)
 Override this method to draw your own node.
 
virtual void visit (void)
 Visits this node's children and draw them recursively.
 
CCRect boundingBox (void)
 Returns a "local" axis aligned bounding box of the node.
 
virtual void setZOrder (int zOrder)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array.
 
virtual void _setZOrder (int z)
 Sets the z order which stands for the drawing order.
 
virtual int getZOrder ()
 Gets the Z order of this node.
 
virtual void setVertexZ (float vertexZ)
 Sets the real OpenGL Z vertex.
 
virtual float getVertexZ ()
 Gets OpenGL Z vertex of this node.
 
virtual void setScaleX (float fScaleX)
 Changes the scale factor on X axis of this node.
 
virtual float getScaleX ()
 Returns the scale factor on X axis of this node.
 
virtual void setScaleY (float fScaleY)
 Changes the scale factor on Y axis of this node.
 
virtual float getScaleY ()
 Returns the scale factor on Y axis of this node.
 
virtual void setScale (float scale)
 Changes both X and Y scale factor of the node.
 
virtual float getScale ()
 Gets the scale factor of the node, when X and Y have the same scale factor.
 
virtual void setPosition (const CCPoint &position)
 Changes the position (x,y) of the node in OpenGL coordinates.
 
virtual const CCPointgetPosition ()
 Gets the position (x,y) of the node in OpenGL coordinates.
 
void setPosition (float x, float y)
 Sets position in a more efficient way.
 
void getPosition (float *x, float *y)
 Gets position in a more efficient way, returns two number instead of a CCPoint object.
 
void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position.
 
float getPositionX (void)
 
void setPositionY (float y)
 
float getPositionY (void)
 
virtual void setSkewX (float fSkewX)
 Changes the X skew angle of the node in degrees.
 
virtual float getSkewX ()
 Returns the X skew angle of the node in degrees.
 
virtual void setSkewY (float fSkewY)
 Changes the Y skew angle of the node in degrees.
 
virtual float getSkewY ()
 Returns the Y skew angle of the node in degrees.
 
virtual void setAnchorPoint (const CCPoint &anchorPoint)
 Sets the anchor point in percent.
 
virtual const CCPointgetAnchorPoint ()
 Returns the anchor point in percent.
 
virtual const CCPointgetAnchorPointInPoints ()
 Returns the anchorPoint in absolute pixels.
 
virtual void setContentSize (const CCSize &contentSize)
 Sets the untransformed size of the node.
 
virtual const CCSizegetContentSize ()
 Returns the untransformed size of the node.
 
virtual void setVisible (bool visible)
 Sets whether the node is visible.
 
virtual bool isVisible ()
 Determines if the node is visible.
 
virtual void setRotation (float fRotation)
 Sets the rotation (angle) of the node in degrees.
 
virtual float getRotation ()
 Returns the rotation of the node in degrees.
 
virtual void setRotationX (float fRotaionX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew.
 
virtual float getRotationX ()
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.
 
virtual void setRotationY (float fRotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
 
virtual float getRotationY ()
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
 
virtual void setOrderOfArrival (unsigned int uOrderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children.
 
virtual unsigned int getOrderOfArrival ()
 Returns the arrival order, indecates which children is added previously.
 
virtual void setGLServerState (ccGLServerState glServerState)
 Sets the state of OpenGL server side.
 
virtual ccGLServerState getGLServerState ()
 Returns the state of OpenGL server side.
 
virtual void ignoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node.
 
virtual bool isIgnoreAnchorPointForPosition ()
 Gets whether the anchor point will be (0,0) when you position this node.
 
virtual void addChild (CCNode *child)
 Adds a child to the container with z-order as 0.
 
virtual void addChild (CCNode *child, int zOrder)
 Adds a child to the container with a z-order.
 
virtual void addChild (CCNode *child, int zOrder, int tag)
 Adds a child to the container with z order and tag.
 
CCNodegetChildByTag (int tag)
 Gets a child from the container with its tag.
 
virtual CCArraygetChildren ()
 Return an array of children.
 
unsigned int getChildrenCount (void)
 Get the amount of children.
 
virtual void setParent (CCNode *parent)
 Sets the parent node.
 
virtual CCNodegetParent ()
 Returns a pointer to the parent node.
 
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup.
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node.
 
virtual void removeChild (CCNode *child)
 Removes a child from the container with a cleanup.
 
virtual void removeChild (CCNode *child, bool cleanup)
 Removes a child from the container.
 
virtual void removeChildByTag (int tag)
 Removes a child from the container by tag value with a cleanup.
 
virtual void removeChildByTag (int tag, bool cleanup)
 Removes a child from the container by tag value.
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup.
 
virtual void removeAllChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.
 
virtual void reorderChild (CCNode *child, int zOrder)
 Reorders a child according to a new z value.
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered.
 
virtual CCGridBasegetGrid ()
 Returns a grid object that is used when applying effects.
 
virtual void setGrid (CCGridBase *pGrid)
 Changes a grid object that is used when applying effects.
 
virtual int getTag ()
 Returns a tag that is used to identify the node easily.
 
virtual void setTag (int nTag)
 Changes the tag that is used to identify the node easily.
 
virtual void * getUserData ()
 Returns a custom user data pointer.
 
virtual void setUserData (void *pUserData)
 Sets a custom user data pointer.
 
virtual CCObjectgetUserObject ()
 Returns a user assigned CCObject.
 
virtual void setUserObject (CCObject *pUserObject)
 Returns a user assigned CCObject.
 
virtual CCGLProgramgetShaderProgram ()
 Return the shader program currently used for this node.
 
virtual void setShaderProgram (CCGLProgram *pShaderProgram)
 Sets the shader program for this node.
 
virtual void registerScriptHandler (int handler)
 Registers a script function that will be called in onEnter() & onExit() seires functions.
 
virtual void unregisterScriptHandler (void)
 Unregisters a script function that will be called in onEnter() & onExit() series functions.
 
int getScriptHandler ()
 Gets script handler for onEnter/onExit event.
 
void scheduleUpdateWithPriorityLua (int nHandler, int priority)
 Schedules for lua script.
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the CCNode leaves the 'stage'.
 
virtual void setActionManager (CCActionManager *actionManager)
 Sets the CCActionManager object that is used by all actions.
 
virtual CCActionManagergetActionManager ()
 Gets the CCActionManager object that is used by all actions.
 
CCActionrunAction (CCAction *action)
 Executes an action, and returns the action that is executed.
 
void stopAllActions (void)
 Stops and removes all actions from the running action list .
 
void stopAction (CCAction *action)
 Stops and removes an action from the running action list.
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag.
 
CCActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag.
 
unsigned int numberOfRunningActions (void)
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays).
 
virtual void setScheduler (CCScheduler *scheduler)
 Sets a CCScheduler object that is used to schedule all "updates" and timers.
 
virtual CCSchedulergetScheduler ()
 Gets a CCSheduler object.
 
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled.
 
void scheduleUpdate (void)
 Schedules the "update" method.
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority.
 
void unscheduleUpdate (void)
 
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector.
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds.
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger.
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame.
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector.
 
void unscheduleAllSelectors (void)
 Unschedule all scheduled selectors: custom selectors, and the 'update' selector.
 
void resumeSchedulerAndActions (void)
 Resumes all scheduled selectors and actions.
 
void pauseSchedulerAndActions (void)
 Pauses all scheduled selectors and actions.
 
virtual void update (float delta)
 
void transform (void)
 Performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes.
 
void transformAncestors (void)
 Performs OpenGL view-matrix transformation of it's ancestors.
 
virtual void updateTransform (void)
 Calls children's updateTransform() method recursively.
 
virtual CCAffineTransform nodeToParentTransform (void)
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
 
virtual CCAffineTransform parentToNodeTransform (void)
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.
 
virtual CCAffineTransform nodeToWorldTransform (void)
 Returns the world affine transform matrix.
 
virtual CCAffineTransform worldToNodeTransform (void)
 Returns the inverse world affine transform matrix.
 
CCPoint convertToNodeSpace (const CCPoint &worldPoint)
 Converts a Point to node (local) space coordinates.
 
CCPoint convertToWorldSpace (const CCPoint &nodePoint)
 Converts a Point to world space coordinates.
 
CCPoint convertToNodeSpaceAR (const CCPoint &worldPoint)
 Converts a Point to node (local) space coordinates.
 
CCPoint convertToWorldSpaceAR (const CCPoint &nodePoint)
 Converts a local Point to world space coordinates.The result is in Points.
 
CCPoint convertTouchToNodeSpace (CCTouch *touch)
 convenience methods which take a CCTouch instead of CCPoint
 
CCPoint convertTouchToNodeSpaceAR (CCTouch *touch)
 converts a CCTouch (world coordinates) into a local coordinate.
 
 CCNode (void)
 Default constructor.
 
virtual ~CCNode (void)
 Default destructor.
 
const char * description (void)
 Gets the description string.
 
- Public Member Functions inherited from CCObject
 CCObject (void)
 
virtual ~CCObject (void)
 
void release (void)
 
void retain (void)
 
CCObjectautorelease (void)
 
CCObjectcopy (void)
 
bool isSingleReference (void)
 
unsigned int retainCount (void)
 
virtual bool isEqual (const CCObject *pObject)
 
- Public Member Functions inherited from CCCopying
virtual CCObjectcopyWithZone (CCZone *pZone)
 
- Public Member Functions inherited from CCTouchDelegate
 CCTouchDelegate ()
 
virtual ~CCTouchDelegate ()
 

Static Public Member Functions

static CCLayercreate (void)
 create one layer
 
- Static Public Member Functions inherited from CCNode
static CCNodecreate (void)
 Allocates and initializes a node.
 

Protected Attributes

bool m_bTouchEnabled
 
bool m_bAccelerometerEnabled
 
bool m_bKeypadEnabled
 
- Protected Attributes inherited from CCNode
float m_fRotationX
 rotation angle on x-axis
 
float m_fRotationY
 rotation angle on y-axis
 
float m_fScaleX
 scaling factor on x-axis
 
float m_fScaleY
 scaling factor on y-axis
 
float m_fVertexZ
 OpenGL real Z vertex.
 
CCPoint m_obPosition
 position of the node
 
float m_fSkewX
 skew angle on x-axis
 
float m_fSkewY
 skew angle on y-axis
 
CCPoint m_obAnchorPointInPoints
 anchor point in points
 
CCPoint m_obAnchorPoint
 anchor point normalized (NOT in points)
 
CCSize m_obContentSize
 untransformed size of the node
 
CCAffineTransform m_sTransform
 transform
 
CCAffineTransform m_sInverse
 transform
 
CCCameram_pCamera
 a camera
 
CCGridBasem_pGrid
 a grid
 
int m_nZOrder
 z-order value that affects the draw order
 
CCArraym_pChildren
 array of children nodes
 
CCNodem_pParent
 weak reference to parent node
 
int m_nTag
 a tag. Can be any number you assigned just to identify this node
 
void * m_pUserData
 A user assingned void pointer, Can be point to any cpp object.
 
CCObjectm_pUserObject
 A user assigned CCObject.
 
CCGLProgramm_pShaderProgram
 OpenGL shader.
 
ccGLServerState m_eGLServerState
 OpenGL servier side state.
 
unsigned int m_uOrderOfArrival
 used to preserve sequence while sorting children with the same zOrder
 
CCSchedulerm_pScheduler
 scheduler used to schedule timers and updates
 
CCActionManagerm_pActionManager
 a pointer to ActionManager singleton, which is used to handle all the actions
 
bool m_bRunning
 is running
 
bool m_bTransformDirty
 transform dirty flag
 
bool m_bInverseDirty
 transform dirty flag
 
bool m_bVisible
 is this node visible
 
bool m_bIgnoreAnchorPointForPosition
 true if the Anchor Point will be (0,0) when you position the CCNode, false otherwise.
 
bool m_bReorderChildDirty
 children order dirty flag
 
int m_nScriptHandler
 script handler for onEnter() & onExit(), used in Javascript binding and Lua binding.
 
int m_nUpdateScriptHandler
 script handler for update() callback per frame, which is invoked from lua & javascript.
 
ccScriptType m_eScriptType
 type of script binding, lua or javascript
 
- Protected Attributes inherited from CCObject
unsigned int m_uReference
 
unsigned int m_uAutoReleaseCount
 

Additional Inherited Members

- Public Attributes inherited from CCObject
unsigned int m_uID
 
int m_nLuaID
 

Detailed Description

CCLayer is a subclass of CCNode that implements the TouchEventsDelegate protocol.

All features from CCNode are valid, plus the following new features:

  • It can receive iPhone Touches
  • It can receive Accelerometer input

Constructor & Destructor Documentation

CCLayer ( )
virtual ~CCLayer ( )
virtual

Member Function Documentation

virtual void ccTouchCancelled ( CCTouch pTouch,
CCEvent pEvent 
)
virtual

Reimplemented from CCTouchDelegate.

Reimplemented in CCTableView, CCScrollView, CCControlButton, CCMenu, and CCControlSwitch.

virtual void ccTouchEnded ( CCTouch pTouch,
CCEvent pEvent 
)
virtual
virtual void ccTouchesBegan ( CCSet pTouches,
CCEvent pEvent 
)
virtual

Reimplemented from CCTouchDelegate.

virtual void ccTouchesCancelled ( CCSet pTouches,
CCEvent pEvent 
)
virtual

Reimplemented from CCTouchDelegate.

virtual void ccTouchesEnded ( CCSet pTouches,
CCEvent pEvent 
)
virtual

Reimplemented from CCTouchDelegate.

virtual void ccTouchesMoved ( CCSet pTouches,
CCEvent pEvent 
)
virtual

Reimplemented from CCTouchDelegate.

static CCLayer* create ( void  )
static

create one layer

virtual void didAccelerate ( CCAcceleration pAccelerationValue)
virtual

Reimplemented from CCAccelerometerDelegate.

CCScriptHandlerEntry* getScriptAccelerateHandlerEntry ( )
inline
CCScriptHandlerEntry* getScriptKeypadHandlerEntry ( )
inline
CCTouchScriptHandlerEntry* getScriptTouchHandlerEntry ( )
inline
virtual int getTouchMode ( )
virtual
virtual int getTouchPriority ( )
virtual
virtual bool init ( )
virtual
virtual bool isAccelerometerEnabled ( )
virtual

whether or not it will receive Accelerometer events

You can enable / disable accelerometer events with this property.

Since
v0.8.1
virtual bool isKeypadEnabled ( )
virtual

whether or not it will receive keypad events

You can enable / disable accelerometer events with this property.

it's new in cocos2d-x

virtual bool isTouchEnabled ( )
virtual

whether or not it will receive Touch events.

You can enable / disable touch events with this property. Only the touches of this node will be affected. This "method" is not propagated to it's children.

Since
v0.8.1
virtual void keyBackClicked ( void  )
virtual

Reimplemented from CCKeypadDelegate.

virtual void keyMenuClicked ( void  )
virtual

Reimplemented from CCKeypadDelegate.

virtual void onEnter ( )
virtual

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

If the CCNode 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., CCNode::onEnter().

Reimplemented from CCNode.

Reimplemented in CCControl.

virtual void onEnterTransitionDidFinish ( )
virtual

Event callback that is invoked when the CCNode enters in the 'stage'.

If the CCNode enters the 'stage' with a transition, this event is called when the transition finishes. If you override onEnterTransitionDidFinish, you shall call its parent's one, e.g. CCNode::onEnterTransitionDidFinish()

Reimplemented from CCNode.

virtual void onExit ( )
virtual

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

If the CCNode 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., CCNode::onExit().

Reimplemented from CCNode.

Reimplemented in CCEditBox, CCMenu, and CCControl.

void registerScriptAccelerateHandler ( int  nHandler)
void registerScriptKeypadHandler ( int  nHandler)

Register keypad events handler.

virtual void registerScriptTouchHandler ( int  nHandler,
bool  bIsMultiTouches = false,
int  nPriority = INT_MIN,
bool  bSwallowsTouches = false 
)
virtual

Register script touch events handler.

virtual void registerWithTouchDispatcher ( void  )
virtual

If isTouchEnabled, this method is called onEnter.

Override it to change the way CCLayer receives touch events. ( Default: CCTouchDispatcher::sharedDispatcher()->addStandardDelegate(this,0); ) Example: void CCLayer::registerWithTouchDispatcher() { CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,INT_MIN+1,true); }

Since
v0.8.0

Reimplemented in CCControl, CCMenu, and CCScrollView.

virtual void setAccelerometerEnabled ( bool  value)
virtual
virtual void setAccelerometerInterval ( double  interval)
virtual
virtual void setKeypadEnabled ( bool  value)
virtual
virtual void setTouchEnabled ( bool  value)
virtual

Reimplemented in CCScrollView.

virtual void setTouchMode ( ccTouchesMode  mode)
virtual
virtual void setTouchPriority ( int  priority)
virtual

priority of the touch events.

Default is 0

void unregisterScriptAccelerateHandler ( void  )
void unregisterScriptKeypadHandler ( void  )

Unregister keypad events handler.

virtual void unregisterScriptTouchHandler ( void  )
virtual

Unregister script touch events handler.

Member Data Documentation

bool m_bAccelerometerEnabled
protected
bool m_bKeypadEnabled
protected
bool m_bTouchEnabled
protected

The documentation for this class was generated from the following file:
  • /Users/zhangkoumyou/SourceCode/cocos2d-x/cocos2dx/layers_scenes_transitions_nodes/CCLayer.h