Cocos2d-x  v4
TMXLayer Class Reference

TMXLayer represents the TMX layer. More...

Inherits SpriteBatchNode.

Public Member Functions

 TMXLayer ()
 @js ctor
 
virtual ~TMXLayer ()
 @js NA @lua NA
 
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...
 
uint32_t getTileGIDAt (const Vec2 &tileCoordinate, TMXTileFlags *flags=nullptr)
 Returns the tile gid at a given tile coordinate. More...
 
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...
 
Value getProperty (const std::string &propertyName) const
 Return the value for the specific property name. More...
 
void setupTiles ()
 Creates the tiles.
 
const std::string & getLayerName ()
 Get the layer name. More...
 
void setLayerName (const std::string &layerName)
 Set the layer name. More...
 
const Size & getLayerSize () const
 Size of the layer in tiles. More...
 
void setLayerSize (const Size &size)
 Set size of the layer in tiles. More...
 
const Size & getMapTileSize () const
 Size of the map's tile (could be different from the tile's size). More...
 
void setMapTileSize (const Size &size)
 Set the size of the map's tile. More...
 
uint32_t * getTiles () const
 Pointer to the map of tiles. More...
 
void setTiles (uint32_t *tiles)
 Set a pointer to the map of tiles. More...
 
TMXTilesetInfo * getTileSet () const
 Tileset information for the layer. More...
 
void setTileSet (TMXTilesetInfo *info)
 Set tileset information for the layer. More...
 
int getLayerOrientation () const
 Layer orientation, which is the same as the map orientation. More...
 
void setLayerOrientation (int orientation)
 Set layer orientation, which is the same as the map orientation. More...
 
const ValueMap & getProperties () const
 Properties from the layer. More...
 
ValueMap & getProperties ()
 Properties from the layer. More...
 
void setProperties (const ValueMap &properties)
 Set an Properties from to layer. More...
 
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
 @js NA
 
virtual void addChild (Node *child, int zOrder, int tag) override
 TMXLayer doesn't support adding a Sprite manually. More...
 
virtual void addChild (Node *child, int zOrder, const std::string &name) override
 TMXLayer doesn't support adding a Sprite manually. More...
 
virtual void addChild (Node *child)
 TMXLayer doesn't support adding a Sprite manually. More...
 
virtual void addChild (Node *child, int localZOrder)
 TMXLayer doesn't support adding a Sprite manually. More...
 
virtual void addChild (Node *child, int localZOrder, int tag)
 TMXLayer doesn't support adding a Sprite manually. More...
 
virtual void addChild (Node *child, int localZOrder, const std::string &name)
 TMXLayer doesn't support adding a Sprite manually. 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 ()
 Increase the Atlas Capacity.
 
void removeChildAtIndex (ssize_t index, bool doCleanup)
 Removes a child given a certain index. More...
 
void appendChild (Sprite *sprite)
 Append the child. More...
 
void removeSpriteFromAtlas (Sprite *sprite)
 Remove a sprite from Atlas. More...
 
ssize_t rebuildIndexInOrder (Sprite *parent, ssize_t index)
 Rebuild index with a sprite all child. More...
 
ssize_t highestAtlasIndexInChild (Sprite *sprite)
 Get the Max image block index,in all child. More...
 
ssize_t lowestAtlasIndexInChild (Sprite *sprite)
 Get the Min image block index,in all child. More...
 
ssize_t atlasIndexForChild (Sprite *sprite, int z)
 Get the nearest index from the sprite in z. More...
 
virtual void setBlendFunc (const BlendFunc &blendFunc) override
 
virtual const BlendFuncgetBlendFunc () const override
 @lua NA
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) override
 @js NA
 
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
 @js NA
 
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
 @js NA
 
virtual void setProgramState (backend::ProgramState *programState) override
 Set ProgramState.
 
void insertQuadFromSprite (Sprite *sprite, ssize_t index)
 Inserts a quad at a certain index into the texture atlas. More...
 
void reserveCapacity (ssize_t newCapacity)
 reserves capacity for the batch 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 void addChild (Node *child, int localZOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder, const std::string &name)
 Adds a child to the container with z order and tag. More...
 
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops all running actions and schedulers.
 
virtual ScenegetScene () const
 Returns the Scene that contains the Node. More...
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for scene. More...
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher of scene. More...
 
virtual uint8_t getOpacity () const
 Return the node's opacity. More...
 
virtual uint8_t getDisplayedOpacity () const
 Return the node's display opacity. More...
 
virtual void setOpacity (uint8_t opacity)
 Change node opacity. More...
 
virtual void updateDisplayedOpacity (uint8_t parentOpacity)
 Update the displayed opacity of node with it's parent opacity;. More...
 
virtual bool isCascadeOpacityEnabled () const
 Whether cascadeOpacity is enabled or not. More...
 
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
 Change node's cascadeOpacity property. More...
 
virtual const Color3BgetColor () const
 Query node's color value. More...
 
virtual const Color3BgetDisplayedColor () const
 Query node's displayed color. More...
 
virtual void setColor (const Color3B &color)
 Change the color of node. More...
 
virtual void updateDisplayedColor (const Color3B &parentColor)
 Update node's displayed color with its parent color. More...
 
virtual bool isCascadeColorEnabled () const
 Query whether cascadeColor is enabled or not. More...
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 If you want node's color affect the children node's color, then set it to true. More...
 
virtual void setOpacityModifyRGB (bool value)
 If you want the opacity affect the color property, then set to true. More...
 
virtual bool isOpacityModifyRGB () const
 If node opacity will modify the RGB color value, then you should override this method and return true. More...
 
void setOnEnterCallback (const std::function< void()> &callback)
 Set the callback of event onEnter. More...
 
const std::function< void()> & getOnEnterCallback () const
 Get the callback of event onEnter. More...
 
void setOnExitCallback (const std::function< void()> &callback)
 Set the callback of event onExit. More...
 
const std::function< void()> & getOnExitCallback () const
 Get the callback of event onExit. More...
 
void setOnEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 Set the callback of event EnterTransitionDidFinish. More...
 
const std::function< void()> & getOnEnterTransitionDidFinishCallback () const
 Get the callback of event EnterTransitionDidFinish. More...
 
void setOnExitTransitionDidStartCallback (const std::function< void()> &callback)
 Set the callback of event ExitTransitionDidStart. More...
 
const std::function< void()> & getOnExitTransitionDidStartCallback () const
 Get the callback of event ExitTransitionDidStart. More...
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true
 
virtual void setCameraMask (unsigned short mask, bool applyChildren=true)
 Modify the camera mask for current node. More...
 
virtual void setLocalZOrder (std::int32_t localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void _setLocalZOrder (std::int32_t z)
 
void updateOrderOfArrival ()
 !!! ONLY FOR INTERNAL USE Sets the arrival order when this node has a same ZOrder with other children. More...
 
virtual std::int32_t getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual void setGlobalZOrder (float globalZOrder)
 Defines the order in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual 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 setPositionNormalized (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual void setNormalizedPosition (const Vec2 &position)
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getPositionNormalized () const
 Returns the normalized position. More...
 
virtual const Vec2getNormalizedPosition () const
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX () const
 Gets the x coordinate of the node in its parent's coordinate system. More...
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionY () const
 Gets the y coordinate of the node in its parent's coordinate system. More...
 
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 Returns the position (X,Y,Z) in its parent's coordinate system. More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const Size &contentSize)
 Sets the untransformed size of the node. More...
 
virtual const Size & getContentSize () const
 Returns the untransformed size of the node. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible () const
 Determines if the node is visible. More...
 
virtual 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 setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion. More...
 
virtual Quaternion getRotationQuat () const
 Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise. More...
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setIgnoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual const std::string & getName () const
 Returns a string that is used to identify the node. More...
 
virtual void setName (const std::string &name)
 Changes the name that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
 @lua NA
 
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
 @lua NA
 
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
virtual void 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
 
virtual ActionrunAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list .
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
void stopAllActionsByTag (int tag)
 Removes all actions from the running action list by its tag. More...
 
void stopActionsByFlags (unsigned int flags)
 Removes all actions from the running action list by its flags. More...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
ssize_t getNumberOfRunningActionsByTag (int tag) const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays) with a specific tag. More...
 
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Scheduler object. More...
 
virtual const SchedulergetScheduler () const
 
bool isScheduled (SEL_SCHEDULE selector) const
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key) const
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate ()
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate ()
 
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
void scheduleOnce (const std::function< void(float)> &callback, float delay, const std::string &key)
 Schedules a lambda function that runs only once, with a delay of 0 or larger. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void schedule (const std::function< void(float)> &callback, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, const std::string &key)
 Schedules a lambda function. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unschedule (const std::string &key)
 Unschedules a lambda function. More...
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions. More...
 
virtual void resume ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". More...
 
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
 
virtual Mat4 getNodeToParentTransform (Node *ancestor) const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform (Node *ancestor) const
 Returns the affine transform matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually. More...
 
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
 
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
 
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
 
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2. More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (const Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const Mat4 &additionalTransform)
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
 
Component * getComponent (const std::string &name)
 Gets a component by its name. More...
 
virtual bool addComponent (Component *component)
 Adds a component. More...
 
virtual bool removeComponent (const std::string &name)
 Removes a component by its name. More...
 
virtual bool removeComponent (Component *component)
 Removes a component by its pointer. More...
 
virtual void removeAllComponents ()
 Removes all components.
 
virtual 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...
 
template<typename T >
getChildByTag (int tag) const
 Gets a child from the container with its tag that can be cast to Type T. More...
 
virtual NodegetChildByName (const std::string &name) const
 Gets a child from the container with its name. More...
 
template<typename T >
getChildByName (const std::string &name) const
 Gets a child from the container with its name that can be cast to Type T. More...
 
virtual void enumerateChildren (const std::string &name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name. More...
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const
 
virtual ssize_t getChildrenCount () const
 Returns the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
 
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
virtual void 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...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 

Static Public Member Functions

static 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...
 
static int getAttachedNodeCount ()
 Gets count of nodes those are attached to scene graph.
 
template<typename _T >
static void sortNodes (cocos2d::Vector< _T * > &nodes)
 Sorts helper function. More...
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes.
 
- Protected Member Functions inherited from SpriteBatchNode
 SpriteBatchNode ()
 @js ctor
 
virtual ~SpriteBatchNode ()
 @js NA @lua NA
 
bool initWithTexture (Texture2D *tex, ssize_t capacity=DEFAULT_CAPACITY)
 initializes a SpriteBatchNode with a texture2d and capacity of children. More...
 
bool initWithFile (const std::string &fileImage, ssize_t capacity=DEFAULT_CAPACITY)
 initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children. More...
 

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

Member Function Documentation

◆ create()

static TMXLayer* create ( TMXTilesetInfo *  tilesetInfo,
TMXLayerInfo *  layerInfo,
TMXMapInfo *  mapInfo 
)
static

Creates a TMXLayer with an tileset info, a layer info and a map info.

Parameters
tilesetInfoAn tileset info.
layerInfoA layer info.
mapInfoA map info.
Returns
An autorelease object.

◆ initWithTilesetInfo()

bool initWithTilesetInfo ( TMXTilesetInfo *  tilesetInfo,
TMXLayerInfo *  layerInfo,
TMXMapInfo *  mapInfo 
)

Initializes a TMXLayer with a tileset info, a layer info and a map info.

Parameters
tilesetInfoAn tileset info.
layerInfoA layer info.
mapInfoA map info.
Returns
If initializes successfully, it will return true.

◆ releaseMap()

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.

◆ getTileAt()

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));
Parameters
tileCoordinateA tile coordinate.
Returns
Returns the tile (Sprite) at a given a tile coordinate.

◆ getTileGIDAt()

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 tile map has not been previously released (eg. don't call [layer releaseMap]).

Parameters
tileCoordinateThe tile coordinate.
flagsTile flags.
Returns
Returns the tile gid at a given tile coordinate. It also returns the tile flags.

◆ setTileGID() [1/2]

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.

Parameters
gidThe tile gid.
tileCoordinateThe tile coordinate.

◆ setTileGID() [2/2]

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.

Parameters
gidThe tile gid.
tileCoordinateThe tile coordinate.
flagsThe tile flags.

◆ removeTileAt()

void removeTileAt ( const Vec2 tileCoordinate)

Removes a tile at given tile coordinate.

Parameters
tileCoordinateThe tile coordinate.

◆ getPositionAt()

Vec2 getPositionAt ( const Vec2 tileCoordinate)

Returns the position in points of a given tile coordinate.

Parameters
tileCoordinateThe tile coordinate.
Returns
The position in points of a given tile coordinate.

◆ getProperty()

Value getProperty ( const std::string &  propertyName) const

Return the value for the specific property name.

Parameters
propertyNameThe specific property name.
Returns
Return the value for the specific property name.

◆ getLayerName()

const std::string& getLayerName ( )
inline

Get the layer name.

Returns
The layer name.

◆ setLayerName()

void setLayerName ( const std::string &  layerName)
inline

Set the layer name.

Parameters
layerNameThe layer name.

◆ getLayerSize()

const Size& getLayerSize ( ) const
inline

Size of the layer in tiles.

Returns
Size of the layer in tiles.

◆ setLayerSize()

void setLayerSize ( const Size &  size)
inline

Set size of the layer in tiles.

Parameters
sizeSize of the layer in tiles.

◆ getMapTileSize()

const Size& getMapTileSize ( ) const
inline

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

Returns
The size of the map's tile.

◆ setMapTileSize()

void setMapTileSize ( const Size &  size)
inline

Set the size of the map's tile.

Parameters
sizeThe size of the map's tile.

◆ getTiles()

uint32_t* getTiles ( ) const
inline

Pointer to the map of tiles.

@js NA @lua NA

Returns
Pointer to the map of tiles.

◆ setTiles()

void setTiles ( uint32_t *  tiles)
inline

Set a pointer to the map of tiles.

Parameters
tilesA pointer to the map of tiles.

◆ getTileSet()

TMXTilesetInfo* getTileSet ( ) const
inline

Tileset information for the layer.

Returns
Tileset information for the layer.

◆ setTileSet()

void setTileSet ( TMXTilesetInfo *  info)
inline

Set tileset information for the layer.

Parameters
infoThe tileset information for the layer. @js NA

◆ getLayerOrientation()

int getLayerOrientation ( ) const
inline

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

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

◆ setLayerOrientation()

void setLayerOrientation ( int  orientation)
inline

Set layer orientation, which is the same as the map orientation.

Parameters
orientationLayer orientation,which is the same as the map orientation.

◆ getProperties() [1/2]

const ValueMap& getProperties ( ) const
inline

Properties from the layer.

They can be added using Tiled.

Returns
Properties from the layer. They can be added using Tiled.

◆ getProperties() [2/2]

ValueMap& getProperties ( )
inline

Properties from the layer.

They can be added using Tiled.

Returns
Properties from the layer. They can be added using Tiled.

◆ setProperties()

void setProperties ( const ValueMap &  properties)
inline

Set an Properties from to layer.

Parameters
propertiesIt is used to set the layer Properties.

◆ addChild() [1/7]

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.
localZOrderZ 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.

◆ removeChild()

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.

◆ addChild() [2/7]

virtual void addChild
override

TMXLayer doesn't support adding a Sprite manually.

Warning
addChild(z, tag); is not supported on TMXLayer. Instead of setTileGID.

◆ addChild() [3/7]

virtual void addChild
override

TMXLayer doesn't support adding a Sprite manually.

Warning
addChild(z, tag); is not supported on TMXLayer. Instead of setTileGID.

◆ addChild() [4/7]

virtual void addChild

TMXLayer doesn't support adding a Sprite manually.

Warning
addChild(z, tag); is not supported on TMXLayer. Instead of setTileGID.

◆ addChild() [5/7]

virtual void addChild

TMXLayer doesn't support adding a Sprite manually.

Warning
addChild(z, tag); is not supported on TMXLayer. Instead of setTileGID.

◆ addChild() [6/7]

virtual void addChild

TMXLayer doesn't support adding a Sprite manually.

Warning
addChild(z, tag); is not supported on TMXLayer. Instead of setTileGID.

◆ addChild() [7/7]

virtual void addChild

TMXLayer doesn't support adding a Sprite manually.

Warning
addChild(z, tag); is not supported on TMXLayer. Instead of setTileGID.

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