Public Member Functions | Static Public Member Functions | Properties

CCNode Class Reference

#import <CCNode.h>

Inherited by CCAtlasNode, CCMenuItem, CCMotionStreak, CCParallaxNode, CCParticleSystem, CCProgressTimer, CCRenderTexture, CCRibbon, CCScene, CCSprite, CCSpriteBatchNode, and CCTMXTiledMap.

Collaboration diagram for CCNode:
Collaboration graph
[legend]

List of all members.

Public Member Functions

(id) - init
(void) - onEnter
(void) - onEnterTransitionDidFinish
(void) - onExit
(void) - addChild:
(void) - addChild:z:
(void) - addChild:z:tag:
(void) - removeFromParentAndCleanup:
(void) - removeChild:cleanup:
(void) - removeChildByTag:cleanup:
(void) - removeAllChildrenWithCleanup:
(CCNode *) - getChildByTag:
(void) - reorderChild:z:
(void) - cleanup
(void) - draw
(void) - visit
(void) - transform
(void) - transformAncestors
(CGRect) - boundingBox
(CGRect) - boundingBoxInPixels
(CCAction *) - runAction:
(void) - stopAllActions
(void) - stopAction:
(void) - stopActionByTag:
(CCAction *) - getActionByTag:
(int) - numberOfRunningActions
(void) - scheduleUpdate
(void) - scheduleUpdateWithPriority:
(void) - schedule:
(void) - schedule:interval:
(void) - unschedule:
(void) - unscheduleAllSelectors
(void) - resumeSchedulerAndActions
(void) - pauseSchedulerAndActions
(CGAffineTransform) - nodeToParentTransform
(CGAffineTransform) - parentToNodeTransform
(CGAffineTransform) - nodeToWorldTransform
(CGAffineTransform) - worldToNodeTransform
(CGPoint) - convertToNodeSpace:
(CGPoint) - convertToWorldSpace:
(CGPoint) - convertToNodeSpaceAR:
(CGPoint) - convertToWorldSpaceAR:

Static Public Member Functions

(id) + node

Properties

NSInteger zOrder
float vertexZ
float rotation
float scale
float scaleX
float scaleY
CGPoint position
CGPoint positionInPixels
CCCameracamera
CCArray * children
CCGridBasegrid
BOOL visible
CGPoint anchorPoint
CGPoint anchorPointInPixels
CGSize contentSize
CGSize contentSizeInPixels
BOOL isRunning
CCNodeparent
BOOL isRelativeAnchorPoint
NSInteger tag
void * userData

Detailed Description

CCNode is the main element. Anything thats gets drawn or contains things that get drawn is a CCNode. The most popular CCNodes are: CCScene, CCLayer, CCSprite, CCMenu.

The main features of a CCNode are:

Some CCNode nodes provide extra functionality for them or their children.

Subclassing a CCNode usually means (one/all) of:

Features of CCNode:

Default values:

Limitations:

Order in transformations with grid disabled

  1. The node will be translated (position)
  2. The node will be rotated (rotation)
  3. The node will be scaled (scale)
  4. The node will be moved according to the camera values (camera)

Order in transformations with grid enabled

  1. The node will be translated (position)
  2. The node will be rotated (rotation)
  3. The node will be scaled (scale)
  4. The grid will capture the screen
  5. The node will be moved according to the camera values (camera)
  6. The grid will render the captured screen

Camera:

Definition at line 97 of file CCNode.h.


Member Function Documentation

- (void) addChild: (CCNode *)  node  

Adds a child to the container with z-order as 0. If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Since:
v0.7.1
- (void) addChild: (CCNode *)  node
z: (int)  z 

Adds a child to the container with a z-order. If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Since:
v0.7.1
- (void) addChild: (CCNode *)  node
z: (int)  z
tag: (int)  tag 

Adds a child to the container with z order and tag. If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Since:
v0.7.1
- (CGRect) boundingBox  

returns a "local" axis aligned bounding box of the node in points. The returned box is relative only to its parent. The returned box is in Points.

Since:
v0.8.2
- (CGRect) boundingBoxInPixels  

returns a "local" axis aligned bounding box of the node in pixels. The returned box is relative only to its parent. The returned box is in Points.

Since:
v0.99.5
- (void) cleanup  

Stops all running actions and schedulers

Since:
v0.8
- (CGPoint) convertToNodeSpace: (CGPoint)  worldPoint  

Converts a Point to node (local) space coordinates. The result is in Points.

Since:
v0.7.1
- (CGPoint) convertToNodeSpaceAR: (CGPoint)  worldPoint  

Converts a Point to node (local) space coordinates. The result is in Points. treating the returned/received node point as anchor relative.

Since:
v0.7.1
- (CGPoint) convertToWorldSpace: (CGPoint)  nodePoint  

Converts a Point to world space coordinates. The result is in Points.

Since:
v0.7.1
- (CGPoint) convertToWorldSpaceAR: (CGPoint)  nodePoint  

Converts a local Point to world space coordinates.The result is in Points. treating the returned/received node point as anchor relative.

Since:
v0.7.1
- (void) draw  

Override this method to draw your own node. The following GL states will be enabled by default:

  • glEnableClientState(GL_VERTEX_ARRAY);
  • glEnableClientState(GL_COLOR_ARRAY);
  • glEnableClientState(GL_TEXTURE_COORD_ARRAY);
  • glEnable(GL_TEXTURE_2D);

AND YOU SHOULD NOT DISABLE THEM AFTER DRAWING YOUR NODE

But if you enable any other GL state, you should disable it after drawing your node.

- (CCAction*) getActionByTag: (int)  tag  

Gets an action from the running action list given its tag

Since:
v0.7.1
Returns:
the Action the with the given tag
- (CCNode*) getChildByTag: (int)  tag  

Gets a child from the container given its tag

Returns:
returns a CCNode object
Since:
v0.7.1
- (id) init  

initializes the node

+ (id) node  

allocates and initializes a node. The node will be created as "autorelease".

- (CGAffineTransform) nodeToParentTransform  

Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. The matrix is in Pixels.

Since:
v0.7.1
- (CGAffineTransform) nodeToWorldTransform  

Retrusn the world affine transform matrix. The matrix is in Pixels.

Since:
v0.7.1
- (int) numberOfRunningActions  

Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). Composable actions are counted as 1 action. Example: If you are running 1 Sequence of 7 actions, it will return 1. If you are running 7 Sequences of 2 actions, it will return 7.

- (void) onEnter  

callback that is called every time the CCNode enters the 'stage'. If the CCNode enters the 'stage' with a transition, this callback is called when the transition starts. During onEnter you can't a "sister/brother" node.

- (void) onEnterTransitionDidFinish  

callback that is called when the CCNode enters in the 'stage'. If the CCNode enters the 'stage' with a transition, this callback is called when the transition finishes.

Since:
v0.8
- (void) onExit  

callback that is called every time the CCNode leaves the 'stage'. If the CCNode leaves the 'stage' with a transition, this callback is called when the transition finishes. During onExit you can't a "sister/brother" node.

- (CGAffineTransform) parentToNodeTransform  

Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. The matrix is in Pixels.

Since:
v0.7.1
- (void) pauseSchedulerAndActions  

pauses all scheduled selectors and actions. Called internally by onExit

- (void) removeAllChildrenWithCleanup: (BOOL)  cleanup  

Removes all children from the container and do a cleanup all running actions depending on the cleanup parameter.

Since:
v0.7.1
- (void) removeChild: (CCNode *)  node
cleanup: (BOOL)  cleanup 

Removes a child from the container. It will also cleanup all running actions depending on the cleanup parameter.

Since:
v0.7.1
- (void) removeChildByTag: (int)  tag
cleanup: (BOOL)  cleanup 

Removes a child from the container by tag value. It will also cleanup all running actions depending on the cleanup parameter

Since:
v0.7.1
- (void) removeFromParentAndCleanup: (BOOL)  cleanup  

Remove itself from its parent node. If cleanup is YES, then also remove all actions and callbacks. If the node orphan, then nothing happens.

Since:
v0.99.3
- (void) reorderChild: (CCNode *)  child
z: (int)  zOrder 

Reorders a child according to a new z value. The child MUST be already added.

- (void) resumeSchedulerAndActions  

resumes all scheduled selectors and actions. Called internally by onEnter

- (CCAction*) runAction: (CCAction *)  action  

Executes an action, and returns the action that is executed. The node becomes the action's target.

Warning:
Starting from v0.8 actions don't retain their target anymore.
Since:
v0.7.1
Returns:
An Action pointer
- (void) schedule: (SEL)  s  

schedules a selector. The scheduled selector will be ticked every frame

- (void) schedule: (SEL)  s
interval: (ccTime seconds 

schedules a custom selector with an interval time in seconds. If time is 0 it will be ticked every frame. If time is 0, it is recommended to use 'scheduleUpdate' instead.

If the selector is already scheduled, then the interval parameter will be updated without scheduling it again.

- (void) scheduleUpdate  

check whether a selector is scheduled. schedules the "update" method. It will use the order number 0. This method will be called every frame. Scheduled methods with a lower order value will be called before the ones that have a higher order value. Only one "udpate" method could be scheduled per node.

Since:
v0.99.3
- (void) scheduleUpdateWithPriority: (int)  priority  

schedules the "update" selector with a custom priority. This selector will be called every frame. Scheduled selectors with a lower priority will be called before the ones that have a higher value. Only one "udpate" selector could be scheduled per node (You can't have 2 'update' selectors).

Since:
v0.99.3
- (void) stopAction: (CCAction *)  action  

Removes an action from the running action list

- (void) stopActionByTag: (int)  tag  

Removes an action from the running action list given its tag

Since:
v0.7.1
- (void) stopAllActions  

Removes all actions from the running action list

- (void) transform  

performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes.

- (void) transformAncestors  

performs OpenGL view-matrix transformation of it's ancestors. Generally the ancestors are already transformed, but in certain cases (eg: attaching a FBO) it's necessary to transform the ancestors again.

Since:
v0.7.2
- (void) unschedule: (SEL)  s  

unschedules a custom selector.

- (void) unscheduleAllSelectors  

unschedule all scheduled selectors: custom selectors, and the 'update' selector. Actions are not affected by this method.

Since:
v0.99.3
- (void) visit  

recursive method that visit its children and draw them

- (CGAffineTransform) worldToNodeTransform  

Returns the inverse world affine transform matrix. The matrix is in Pixels.

Since:
v0.7.1

Property Documentation

- (CGPoint) anchorPoint [read, write, assign]

anchorPoint is the point around which all transformations and positioning manipulations take place. It's like a pin in the node where it is "attached" to its parent. The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner. But you can use values higher than (1,1) and lower than (0,0) too. The default anchorPoint is (0,0). It starts in the bottom-left corner. CCSprite and other subclasses have a different default anchorPoint.

Since:
v0.8

Definition at line 205 of file CCNode.h.

- (CGPoint) anchorPointInPixels [read, assign]

The anchorPoint in absolute pixels. Since v0.8 you can only read it. If you wish to modify it, use anchorPoint instead

Definition at line 209 of file CCNode.h.

- (CCCamera*) camera [read, assign]

A CCCamera object that lets you move the node using a gluLookAt

Definition at line 191 of file CCNode.h.

- (CCArray*) children [read, assign]

Array of children

Definition at line 193 of file CCNode.h.

- (CGSize) contentSize [read, write, assign]

The untransformed size of the node in Points The contentSize remains the same no matter the node is scaled or rotated. All nodes has a size. Layer and Scene has the same size of the screen.

Since:
v0.8

Definition at line 216 of file CCNode.h.

- (CGSize) contentSizeInPixels [read, write, assign]

The untransformed size of the node in Pixels The contentSize remains the same no matter the node is scaled or rotated. All nodes has a size. Layer and Scene has the same size of the screen.

Since:
v0.8

Definition at line 223 of file CCNode.h.

- (CCGridBase*) grid [read, write, retain]

A CCGrid object that is used when applying effects

Definition at line 195 of file CCNode.h.

- (BOOL) isRelativeAnchorPoint [read, write, assign]

If YES the transformtions will be relative to it's anchor point. Sprites, Labels and any other sizeble object use it have it enabled by default. Scenes, Layers and other "whole screen" object don't use it, have it disabled by default.

Definition at line 233 of file CCNode.h.

- (BOOL) isRunning [read, assign]

whether or not the node is running

Definition at line 226 of file CCNode.h.

- (CCNode*) parent [read, write, assign]

A weak reference to the parent

Definition at line 228 of file CCNode.h.

- (CGPoint) position [read, write, assign]

Position (x,y) of the node in points. (0,0) is the left-bottom corner.

Definition at line 186 of file CCNode.h.

- (CGPoint) positionInPixels [read, write, assign]

Position (x,y) of the node in points. (0,0) is the left-bottom corner.

Definition at line 188 of file CCNode.h.

- (float) rotation [read, write, assign]

The rotation (angle) of the node in degrees. 0 is the default rotation angle. Positive values rotate node CW.

Definition at line 178 of file CCNode.h.

- (float) scale [read, write, assign]

The scale factor of the node. 1.0 is the default scale factor. It modifies the X and Y scale at the same time.

Definition at line 180 of file CCNode.h.

- (float) scaleX [read, write, assign]

The scale factor of the node. 1.0 is the default scale factor. It only modifies the X scale factor.

Definition at line 182 of file CCNode.h.

- (float) scaleY [read, write, assign]

The scale factor of the node. 1.0 is the default scale factor. It only modifies the Y scale factor.

Definition at line 184 of file CCNode.h.

- (NSInteger) tag [read, write, assign]

A tag used to identify the node easily

Definition at line 235 of file CCNode.h.

- (void*) userData [read, write, assign]

A custom user data pointer

Definition at line 237 of file CCNode.h.

- (float) vertexZ [read, write, assign]

The real openGL Z vertex. Differences between openGL Z vertex and cocos2d Z order:

  • OpenGL Z modifies the Z vertex, and not the Z order in the relation between parent-children
  • OpenGL Z might require to set 2D projection
  • cocos2d Z order works OK if all the nodes uses the same openGL Z vertex. eg: vertexZ = 0
    Warning:
    : Use it at your own risk since it might break the cocos2d parent-children z order
    Since:
    v0.8

Definition at line 176 of file CCNode.h.

- (BOOL) visible [read, write, assign]

Whether of not the node is visible. Default is YES

Definition at line 197 of file CCNode.h.

- (NSInteger) zOrder [read, assign]

The z order of the node relative to it's "brothers": children of the same parent

Definition at line 167 of file CCNode.h.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines

cocos2d for iPhone 0.99.5 API Reference - Generated using Doxygen 1.7.1