1、在Tiled中图层属性的空白处右键,添加对象层,名为objects:
2、如下图,在对象层中插入对象:
3、右键添加的对象,选择对象属性:
4、名称中填入playerPoint,其它不变:
4、保存地图。
5、上述步骤的目的是在地图中标记一个点playerPoint(1.469, 46.500),用于显示玩家控制的精灵。
6、VS中GamePlayLayer的init函数中添加如下代码:
//2、创建和显示玩家精灵
// 创建精灵
CCSprite *pSpritePlayer = CCSprite::create("Player.png");
CC_BREAK_IF(! pSpritePlayer);
this->setPlayerSprite(pSpritePlayer);
// 获取玩家精灵在地图中的位置(预先设置)
CCTMXObjectGroup *pObject = _tileMap->objectGroupNamed("objects");
CC_BREAK_IF(! pObject);
CCDictionary *pDict = pObject->objectNamed("playerPoint");
CC_BREAK_IF(! pDict);
int x = pDict->valueForKey("x")->intValue();
int y = pDict->valueForKey("y")->intValue();
// 设置玩家至上面获取的位置
_pPlayerSprite->setPosition(ccp(x, y));
// 将玩家精灵添加至图层
this->addChild(_pPlayerSprite, 1);
7、运行效果如下:
8、待续