cocos2d-x  3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TMXLayer Class Reference

TMXLayer represents the TMX layer. More...

#include <CCTMXLayer.h>

Inheritance diagram for TMXLayer:
SpriteBatchNode Node TextureProtocol Ref BlendProtocol

Public Member Functions

 TMXLayer ()
 ctor More...
 
virtual ~TMXLayer ()
 NA NA More...
 
bool initWithTilesetInfo (TMXTilesetInfo *tilesetInfo, TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo)
 initializes a TMXLayer with a tileset info, a layer info and a map info More...
 
void releaseMap ()
 dealloc the map that contains the tile position from memory. More...
 
SpritegetTileAt (const Vec2 &tileCoordinate)
 returns the tile (Sprite) at a given a tile coordinate. More...
 
SpritetileAt (const Vec2 &tileCoordinate)
 
uint32_t getTileGIDAt (const Vec2 &tileCoordinate, TMXTileFlags *flags=nullptr)
 returns the tile gid at a given tile coordinate. More...
 
uint32_t tileGIDAt (const Vec2 &tileCoordinate, TMXTileFlags *flags=nullptr)
 
void setTileGID (uint32_t gid, const Vec2 &tileCoordinate)
 sets the tile gid (gid = tile global id) at a given tile coordinate. More...
 
void setTileGID (uint32_t gid, const Vec2 &tileCoordinate, TMXTileFlags flags)
 sets the tile gid (gid = tile global id) at a given tile coordinate. More...
 
void removeTileAt (const Vec2 &tileCoordinate)
 removes a tile at given tile coordinate More...
 
Vec2 getPositionAt (const Vec2 &tileCoordinate)
 returns the position in points of a given tile coordinate More...
 
Vec2 positionAt (const Vec2 &tileCoordinate)
 
Value getProperty (const std::string &propertyName) const
 return the value for the specific property name More...
 
Value propertyNamed (const std::string &propertyName) const
 
void setupTiles ()
 Creates the tiles. More...
 
const std::string & getLayerName ()
 
void setLayerName (const std::string &layerName)
 
const SizegetLayerSize () const
 size of the layer in tiles More...
 
void setLayerSize (const Size &size)
 
const SizegetMapTileSize () const
 size of the map's tile (could be different from the tile's size) More...
 
void setMapTileSize (const Size &size)
 
uint32_tgetTiles () const
 pointer to the map of tiles NA NA More...
 
void setTiles (uint32_t *tiles)
 
TMXTilesetInfogetTileSet () const
 Tileset information for the layer. More...
 
void setTileSet (TMXTilesetInfo *info)
 
int getLayerOrientation () const
 Layer orientation, which is the same as the map orientation. More...
 
void setLayerOrientation (int orientation)
 
const ValueMapgetProperties () const
 properties from the layer. More...
 
ValueMapgetProperties ()
 
void setProperties (const ValueMap &properties)
 
virtual void addChild (Node *child, int zOrder, int tag) override
 Adds a child to the container with z order and tag. More...
 
void removeChild (Node *child, bool cleanup) override
 Removes a child from the container. More...
 
virtual std::string getDescription () const override
 Gets the description string. More...
 
- Public Member Functions inherited from SpriteBatchNode
TextureAtlasgetTextureAtlas ()
 returns the TextureAtlas object More...
 
void setTextureAtlas (TextureAtlas *textureAtlas)
 sets the TextureAtlas object More...
 
const std::vector< Sprite * > & getDescendants () const
 returns an array with the descendants (children, gran children, etc.). More...
 
void increaseAtlasCapacity ()
 
void removeChildAtIndex (ssize_t index, bool doCleanup)
 removes a child given a certain index. More...
 
void appendChild (Sprite *sprite)
 
void removeSpriteFromAtlas (Sprite *sprite)
 
ssize_t rebuildIndexInOrder (Sprite *parent, ssize_t index)
 
ssize_t highestAtlasIndexInChild (Sprite *sprite)
 
ssize_t lowestAtlasIndexInChild (Sprite *sprite)
 
ssize_t atlasIndexForChild (Sprite *sprite, int z)
 
void reorderBatch (bool reorder)
 
virtual Texture2DgetTexture () const override
 Returns the currently used texture. More...
 
virtual void setTexture (Texture2D *texture) override
 Sets a new texuture. More...
 
virtual void setBlendFunc (const BlendFunc &blendFunc) override
 
virtual const BlendFuncgetBlendFunc () const override
 NA NA More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) override
 Visits this node's children and draw them recursively. More...
 
virtual void addChild (Node *child, int zOrder, const std::string &name) override
 Adds a child to the container with z order and tag. More...
 
virtual void reorderChild (Node *child, int zOrder) override
 Reorders a child according to a new z value. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup) override
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void sortAllChildren () override
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags) override
 Override this method to draw your own node. More...
 
void insertQuadFromSprite (Sprite *sprite, ssize_t index)
 Inserts a quad at a certain index into the texture atlas. More...
 
SpriteBatchNodeaddSpriteWithoutQuad (Sprite *child, int z, int aTag)
 
virtual ~SpriteBatchNode ()
 NA NA More...
 
bool initWithTexture (Texture2D *tex, ssize_t capacity)
 initializes a SpriteBatchNode with a texture2d and capacity of children. More...
 
bool initWithFile (const std::string &fileImage, ssize_t capacity)
 initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children. More...
 
bool init ()
 
- 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. More...
 
virtual void draw () final
 
virtual void visit () final
 
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 Rect boundingBox () const
 
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 
virtual EventDispatchergetEventDispatcher () const
 
void setPhysicsBody (PhysicsBody *body)
 set the PhysicsBody that let the sprite effect with physics More...
 
PhysicsBodygetPhysicsBody () const
 get the PhysicsBody the sprite have More...
 
void removeFromPhysicsWorld ()
 remove this node from physics world. More...
 
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 Color3BgetColor () const
 
virtual const Color3BgetDisplayedColor () const
 
virtual void setColor (const Color3B &color)
 
virtual void updateDisplayedColor (const Color3B &parentColor)
 
virtual bool isCascadeColorEnabled () const
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 
virtual void setOpacityModifyRGB (bool value)
 
virtual bool isOpacityModifyRGB () const
 
void setOnEnterCallback (const std::function< void()> &callback)
 
const std::function< void()> & getOnEnterCallback () const
 
void setOnExitCallback (const std::function< void()> &callback)
 
const std::function< void()> & getOnExitCallback () const
 
void setonEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 
const std::function< void()> & getonEnterTransitionDidFinishCallback () const
 
void setonExitTransitionDidStartCallback (const std::function< void()> &callback)
 
const std::function< void()> & getonExitTransitionDidStartCallback () const
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true More...
 
void setCameraMask (unsigned short mask, bool applyChildren=true)
 
virtual ~Node ()
 
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void setZOrder (int localZOrder)
 
virtual void _setLocalZOrder (int z)
 
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual int getZOrder () const
 
virtual void setGlobalZOrder (float globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual void setScaleX (float scaleX)
 Sets the scale (x) of the node. More...
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node. More...
 
virtual void setScaleY (float scaleY)
 Sets the scale (y) of the 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 void setScale (float scale)
 Sets the scale (x,y,z) of the 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 setNormalizedPosition (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getNormalizedPosition () const
 returns the normalized position More...
 
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 (void) const
 
virtual void setPositionY (float y)
 
virtual float getPositionY (void) const
 
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 void setVertexZ (float vertexZ)
 
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual float getVertexZ () const
 
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 SizegetContentSize () 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 void setRotation (float rotation)
 Sets the rotation (angle) of the node in degrees. 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 setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual void setRotationX (float rotationX)
 
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual float getRotationX () const
 
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setRotationY (float rotationY)
 
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationY () const
 
void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
int getOrderOfArrival () const
 Returns the arrival order, indicates which children is added previously. More...
 
void setGLServerState (int serverState)
 
int getGLServerState () const
 
virtual void ignoreAnchorPointForPosition (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 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 NodegetChildByTag (int tag) const
 Gets a child from the container with its tag. 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 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 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 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
 NA NA More...
 
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
 NA NA More...
 
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
GLProgramgetGLProgram () const
 Return the GLProgram (shader) currently used for this node. More...
 
GLProgramgetShaderProgram () const
 
GLProgramStategetGLProgramState () const
 
virtual void setGLProgramState (GLProgramState *glProgramState)
 
virtual void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
void setShaderProgram (GLProgram *glprogram)
 
virtual void onEnter ()
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExit ()
 Event callback that is invoked every time the Node leaves 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
 
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 . More...
 
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...
 
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 numberOfRunningActions () const
 
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Sheduler object. More...
 
virtual const SchedulergetScheduler () const
 
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key)
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate (void)
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate (void)
 
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 Actions are not affected by this method. More...
 
void unscheduleAllSelectors ()
 
virtual void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
void resumeSchedulerAndActions ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
 
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 void setNodeToParentTransform (const Mat4 &transform)
 Sets the Transformation matrix manually. More...
 
virtual AffineTransform nodeToParentTransform () const
 
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 AffineTransform parentToNodeTransform () const
 
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
 
virtual AffineTransform nodeToWorldTransform () const
 
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
 
virtual AffineTransform worldToNodeTransform () 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 (Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
 
ComponentgetComponent (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 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 ()
 NA NA More...
 
- Public Member Functions inherited from TextureProtocol
virtual ~TextureProtocol ()
 
- Public Member Functions inherited from BlendProtocol
virtual ~BlendProtocol ()
 

Static Public Member Functions

static TMXLayercreate (TMXTilesetInfo *tilesetInfo, TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo)
 creates a TMXLayer with an tileset info, a layer info and a map info More...
 
- Static Public Member Functions inherited from SpriteBatchNode
static SpriteBatchNodecreateWithTexture (Texture2D *tex, ssize_t capacity=DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a texture2d and capacity of children. More...
 
static SpriteBatchNodecreate (const std::string &fileImage, ssize_t capacity=DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children. More...
 
- Static Public Member Functions inherited from Node
static Nodecreate ()
 Allocates and initializes a node. More...
 

Protected Member Functions

Vec2 getPositionForIsoAt (const Vec2 &pos)
 
Vec2 getPositionForOrthoAt (const Vec2 &pos)
 
Vec2 getPositionForHexAt (const Vec2 &pos)
 
Vec2 getPositionForStaggeredAt (const Vec2 &pos)
 
Vec2 calculateLayerOffset (const Vec2 &offset)
 
SpriteappendTileForGID (uint32_t gid, const Vec2 &pos)
 
SpriteinsertTileForGID (uint32_t gid, const Vec2 &pos)
 
SpriteupdateTileForGID (uint32_t gid, const Vec2 &pos)
 
void parseInternalProperties ()
 
void setupTileSprite (Sprite *sprite, Vec2 pos, int gid)
 
SpritereusedTileWithRect (Rect rect)
 
int getVertexZForPos (const Vec2 &pos)
 
ssize_t atlasIndexForExistantZ (int z)
 
ssize_t atlasIndexForNewZ (int z)
 
- Protected Member Functions inherited from SpriteBatchNode
void updateQuadFromSprite (Sprite *sprite, ssize_t index)
 Updates a quad at a certain index into the texture atlas. More...
 
void updateAtlasIndex (Sprite *sprite, ssize_t *curIndex)
 
void swap (ssize_t oldIndex, ssize_t newIndex)
 
void updateBlendFunc ()
 
- Protected Member Functions inherited from Node
void childrenAlloc (void)
 lazy allocs More...
 
void insertChild (Node *child, int z)
 helper that reorder a child More...
 
void detachChild (Node *child, ssize_t index, bool doCleanup)
 Removes a child, call child->onExit(), do cleanup, remove it from children array. More...
 
Vec2 convertToWindowSpace (const Vec2 &nodePoint) const
 Convert cocos2d coordinates to UI windows coordinate. More...
 
Mat4 transform (const Mat4 &parentTransform)
 
uint32_t processParentFlags (const Mat4 &parentTransform, uint32_t parentFlags)
 
virtual void updateCascadeOpacity ()
 
virtual void disableCascadeOpacity ()
 
virtual void updateCascadeColor ()
 
virtual void disableCascadeColor ()
 
virtual void updateColor ()
 
bool doEnumerate (std::string name, std::function< bool(Node *)> callback) const
 
bool doEnumerateRecursive (const Node *node, const std::string &name, std::function< bool(Node *)> callback) const
 
bool isVisitableByVisitingCamera () const
 
void updatePhysicsBodyTransform (Scene *layer)
 
virtual void updatePhysicsBodyPosition (Scene *layer)
 
virtual void updatePhysicsBodyRotation (Scene *layer)
 
virtual void updatePhysicsBodyScale (Scene *scene)
 
- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 

Protected Attributes

std::string _layerName
 name of the layer More...
 
unsigned char _opacity
 TMX Layer supports opacity. More...
 
int _vertexZvalue
 Only used when vertexZ is used. More...
 
bool _useAutomaticVertexZ
 
Sprite_reusedTile
 used for optimization More...
 
ccCArray * _atlasIndexArray
 
float _contentScaleFactor
 
Size _layerSize
 size of the layer in tiles More...
 
Size _mapTileSize
 size of the map's tile (could be different from the tile's size) More...
 
uint32_t_tiles
 pointer to the map of tiles More...
 
TMXTilesetInfo_tileSet
 Tileset information for the layer. More...
 
int _layerOrientation
 Layer orientation, which is the same as the map orientation. More...
 
ValueMap _properties
 properties from the layer. More...
 
- Protected Attributes inherited from SpriteBatchNode
TextureAtlas_textureAtlas
 
BlendFunc _blendFunc
 
BatchCommand _batchCommand
 
std::vector< Sprite * > _descendants
 
- Protected Attributes inherited from Node
float _rotationX
 rotation on the X-axis More...
 
float _rotationY
 rotation on the Y-axis More...
 
float _rotationZ_X
 rotation angle on Z-axis, component X More...
 
float _rotationZ_Y
 rotation angle on Z-axis, component Y More...
 
float _scaleX
 scaling factor on x-axis More...
 
float _scaleY
 scaling factor on y-axis More...
 
float _scaleZ
 scaling factor on z-axis More...
 
Vec2 _position
 position of the node More...
 
float _positionZ
 OpenGL real Z position. More...
 
Vec2 _normalizedPosition
 
bool _usingNormalizedPosition
 
bool _normalizedPositionDirty
 
float _skewX
 skew angle on x-axis More...
 
float _skewY
 skew angle on y-axis More...
 
Vec2 _anchorPointInPoints
 anchor point in points More...
 
Vec2 _anchorPoint
 anchor point normalized (NOT in points) More...
 
Size _contentSize
 untransformed size of the node More...
 
bool _contentSizeDirty
 whether or not the contentSize is dirty More...
 
Mat4 _modelViewTransform
 ModelView transform of the Node. More...
 
Mat4 _transform
 transform More...
 
bool _transformDirty
 transform dirty flag More...
 
Mat4 _inverse
 inverse transform More...
 
bool _inverseDirty
 inverse transform dirty flag More...
 
Mat4 _additionalTransform
 transform More...
 
bool _useAdditionalTransform
 The flag to check whether the additional transform is dirty. More...
 
bool _transformUpdated
 Whether or not the Transform object was updated since the last frame. More...
 
int _localZOrder
 Local order (relative to its siblings) used to sort the node. More...
 
float _globalZOrder
 Global order used to sort the node. More...
 
Vector< Node * > _children
 array of children nodes More...
 
Node_parent
 weak reference to parent node More...
 
int _tag
 a tag. Can be any number you assigned just to identify this node More...
 
std::string _name
 a string label, an user defined string to identify this node More...
 
size_t _hashOfName
 hash value of _name, used for speed in getChildByName More...
 
void * _userData
 A user assingned void pointer, Can be point to any cpp object. More...
 
Ref_userObject
 A user assigned Object. More...
 
GLProgramState_glProgramState
 OpenGL Program State. More...
 
int _orderOfArrival
 used to preserve sequence while sorting children with the same localZOrder More...
 
Scheduler_scheduler
 scheduler used to schedule timers and updates More...
 
ActionManager_actionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
EventDispatcher_eventDispatcher
 event dispatcher used to dispatch all kinds of events More...
 
bool _running
 is running More...
 
bool _visible
 is this node visible More...
 
bool _ignoreAnchorPointForPosition
 true if the Anchor Vec2 will be (0,0) when you position the Node, false otherwise. More...
 
bool _reorderChildDirty
 children order dirty flag More...
 
bool _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
ComponentContainer_componentContainer
 Dictionary of components. More...
 
PhysicsBody_physicsBody
 the physicsBody the node have More...
 
float _physicsScaleStartX
 the scale x value when setPhysicsBody More...
 
float _physicsScaleStartY
 the scale y value when setPhysicsBody More...
 
GLubyte _displayedOpacity
 
GLubyte _realOpacity
 
Color3B _displayedColor
 
Color3B _realColor
 
bool _cascadeColorEnabled
 
bool _cascadeOpacityEnabled
 
unsigned short _cameraMask
 
std::function< void()> _onEnterCallback
 
std::function< void()> _onExitCallback
 
std::function< void()> _onEnterTransitionDidFinishCallback
 
std::function< void()> _onExitTransitionDidStartCallback
 
- Protected Attributes inherited from Ref
unsigned int _referenceCount
 count of references More...
 

Additional Inherited Members

- Public Types inherited from Node
enum  { FLAGS_TRANSFORM_DIRTY = (1 << 0), FLAGS_CONTENT_SIZE_DIRTY = (1 << 1), FLAGS_DIRTY_MASK = (FLAGS_TRANSFORM_DIRTY | FLAGS_CONTENT_SIZE_DIRTY) }
 
- Public Attributes inherited from SpriteBatchNode
CC_CONSTRUCTOR_ACCESS __pad0__: SpriteBatchNode()
 
- Public Attributes inherited from Node
CC_CONSTRUCTOR_ACCESS __pad0__: Node()
 
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes. More...
 
- Static Protected Attributes inherited from Node
static int s_globalOrderOfArrival
 

Detailed Description

TMXLayer represents the TMX layer.

It is a subclass of SpriteBatchNode. By default the tiles are rendered using a TextureAtlas. If you modify a tile on runtime, then, that tile will become a Sprite, otherwise no Sprite objects are created. The benefits of using Sprite objects as tiles are:

  • tiles (Sprite) can be rotated/scaled/moved with a nice API

If the layer contains a property named "cc_vertexz" with an integer (in can be positive or negative), then all the tiles belonging to the layer will use that value as their OpenGL vertex Z for depth.

On the other hand, if the "cc_vertexz" property has the "automatic" value, then the tiles will use an automatic vertex Z value. Also before drawing the tiles, GL_ALPHA_TEST will be enabled, and disabled after drawing them. The used alpha func will be:

glAlphaFunc( GL_GREATER, value )

"value" by default is 0, but you can change it from Tiled by adding the "cc_alpha_func" property to the layer. The value 0 should work for most cases, but if you have tiles that are semi-transparent, then you might want to use a different value, like 0.5.

For further information, please see the programming guide:

http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:tiled_maps

Since
v0.8.1 Tiles can have tile flags for additional properties. At the moment only flip horizontal and flip vertical are used. These bit flags are defined in TMXXMLParser.h.
1.1

Constructor & Destructor Documentation

TMXLayer ( )

ctor

virtual ~TMXLayer ( )
virtual

NA NA

Member Function Documentation

virtual void addChild ( Node child,
int  localZOrder,
int  tag 
)
overridevirtual

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.

Parameters
childA child node
zOrderZ order for drawing priority. Please refer to setLocalZOrder(int)
tagAn integer to identify the node easily. Please refer to setTag(int)

Please use addChild(Node* child, int localZOrder, const std::string &name) instead.

Reimplemented from SpriteBatchNode.

Sprite* appendTileForGID ( uint32_t  gid,
const Vec2 pos 
)
protected
ssize_t atlasIndexForExistantZ ( int  z)
protected
ssize_t atlasIndexForNewZ ( int  z)
protected
Vec2 calculateLayerOffset ( const Vec2 offset)
protected
static TMXLayer* create ( TMXTilesetInfo tilesetInfo,
TMXLayerInfo layerInfo,
TMXMapInfo mapInfo 
)
static

creates a TMXLayer with an tileset info, a layer info and a map info

virtual std::string getDescription ( ) const
overridevirtual

Gets the description string.

It makes debugging easier.

Returns
A string NA NA

Reimplemented from SpriteBatchNode.

const std::string& getLayerName ( )
inline
int getLayerOrientation ( ) const
inline

Layer orientation, which is the same as the map orientation.

const Size& getLayerSize ( ) const
inline

size of the layer in tiles

const Size& getMapTileSize ( ) const
inline

size of the map's tile (could be different from the tile's size)

Vec2 getPositionAt ( const Vec2 tileCoordinate)

returns the position in points of a given tile coordinate

Vec2 getPositionForHexAt ( const Vec2 pos)
protected
Vec2 getPositionForIsoAt ( const Vec2 pos)
protected
Vec2 getPositionForOrthoAt ( const Vec2 pos)
protected
Vec2 getPositionForStaggeredAt ( const Vec2 pos)
protected
const ValueMap& getProperties ( ) const
inline

properties from the layer.

They can be added using Tiled

ValueMap& getProperties ( )
inline
Value getProperty ( const std::string &  propertyName) const

return the value for the specific property name

Sprite* getTileAt ( const Vec2 tileCoordinate)

returns the tile (Sprite) at a given a tile coordinate.

The returned Sprite will be already added to the TMXLayer. Don't add it again. The Sprite can be treated like any other Sprite: rotated, scaled, translated, opacity, color, etc. You can remove either by calling:

  • layer->removeChild(sprite, cleanup);
  • or layer->removeTileAt(Vec2(x,y));
uint32_t getTileGIDAt ( const Vec2 tileCoordinate,
TMXTileFlags flags = nullptr 
)

returns the tile gid at a given tile coordinate.

It also returns the tile flags. This method requires the the tile map has not been previously released (eg. don't call [layer releaseMap])

uint32_t* getTiles ( ) const
inline

pointer to the map of tiles NA NA

TMXTilesetInfo* getTileSet ( ) const
inline

Tileset information for the layer.

int getVertexZForPos ( const Vec2 pos)
protected
bool initWithTilesetInfo ( TMXTilesetInfo tilesetInfo,
TMXLayerInfo layerInfo,
TMXMapInfo mapInfo 
)

initializes a TMXLayer with a tileset info, a layer info and a map info

Sprite* insertTileForGID ( uint32_t  gid,
const Vec2 pos 
)
protected
void parseInternalProperties ( )
protected
Vec2 positionAt ( const Vec2 tileCoordinate)
inline
Value propertyNamed ( const std::string &  propertyName) const
inline
void releaseMap ( )

dealloc the map that contains the tile position from memory.

Unless you want to know at runtime the tiles positions, you can safely call this method. If you are going to call layer->tileGIDAt() then, don't release the map

void removeChild ( Node child,
bool  cleanup 
)
overridevirtual

Removes a child from the container.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
childThe child node which will be removed.
cleanuptrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Reimplemented from SpriteBatchNode.

void removeTileAt ( const Vec2 tileCoordinate)

removes a tile at given tile coordinate

Sprite* reusedTileWithRect ( Rect  rect)
protected
void setLayerName ( const std::string &  layerName)
inline
void setLayerOrientation ( int  orientation)
inline
void setLayerSize ( const Size size)
inline
void setMapTileSize ( const Size size)
inline
void setProperties ( const ValueMap properties)
inline
void setTileGID ( uint32_t  gid,
const Vec2 tileCoordinate 
)

sets the tile gid (gid = tile global id) at a given tile coordinate.

The Tile GID can be obtained by using the method "tileGIDAt" or by using the TMX editor -> Tileset Mgr +1. If a tile is already placed at that position, then it will be removed.

void setTileGID ( uint32_t  gid,
const Vec2 tileCoordinate,
TMXTileFlags  flags 
)

sets the tile gid (gid = tile global id) at a given tile coordinate.

The Tile GID can be obtained by using the method "tileGIDAt" or by using the TMX editor -> Tileset Mgr +1. If a tile is already placed at that position, then it will be removed.

Use withFlags if the tile flags need to be changed as well

void setTiles ( uint32_t tiles)
inline
void setTileSet ( TMXTilesetInfo info)
inline
void setupTiles ( )

Creates the tiles.

void setupTileSprite ( Sprite sprite,
Vec2  pos,
int  gid 
)
protected
Sprite* tileAt ( const Vec2 tileCoordinate)
inline
uint32_t tileGIDAt ( const Vec2 tileCoordinate,
TMXTileFlags flags = nullptr 
)
inline
Sprite* updateTileForGID ( uint32_t  gid,
const Vec2 pos 
)
protected

Member Data Documentation

ccCArray* _atlasIndexArray
protected
float _contentScaleFactor
protected
std::string _layerName
protected

name of the layer

int _layerOrientation
protected

Layer orientation, which is the same as the map orientation.

Size _layerSize
protected

size of the layer in tiles

Size _mapTileSize
protected

size of the map's tile (could be different from the tile's size)

unsigned char _opacity
protected

TMX Layer supports opacity.

ValueMap _properties
protected

properties from the layer.

They can be added using Tiled

Sprite* _reusedTile
protected

used for optimization

uint32_t* _tiles
protected

pointer to the map of tiles

TMXTilesetInfo* _tileSet
protected

Tileset information for the layer.

bool _useAutomaticVertexZ
protected
int _vertexZvalue
protected

Only used when vertexZ is used.


The documentation for this class was generated from the following file: