使用Tiled地图及利用地图设置坐标

  使用Tiled软件将地图信息保存为XXX.tmx格式。
/*加载Tiled地图,添加到场景中*/
        CCTMXTiledMap* map = CCTMXTiledMap::create("level01.tmx");
        CCTMXLayer* groundLayer = map->layerNamed("ground");
        this->addChild(map);

固定主角出生点,使用Tiled软件的对象层。

CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    
    /* 创建精灵 */
    CCSprite* playerSprite = CCSprite::create("player.png");

    /* 将精灵绑定到玩家对象上 */
    Player* mPlayer = Player::create();
    mPlayer->bindSprite(playerSprite);

    //CCTMXObjectGroup对象存放了对象层的所有对象,通过objectGroupNamed函数获取指定名称的对象层,于是就得到了某个对象层的所有对象,这些对象
    //用一个类似HashMap的容器存放。
    //map->objectGroupNamed("objects")取得了刚刚创建的objects对象层里面的所有对象.通过objectNamed函数来获得PlayerPoint对象,获得后返回的是一个
    //CCDictionary对象,从playerPointDic里取得PlayerPoint对象的X,Y坐标值,然后给玩家设置坐标
    /* 加载对象层 */
    CCTMXObjectGroup* objGroup = map->objectGroupNamed("objects");

    /* 加载玩家坐标对象 */
    CCDictionary* playerPointDic = objGroup->objectNamed("PlayerPoint");
    float playerX = playerPointDic->valueForKey("x")->floatValue();
    float playerY = playerPointDic->valueForKey("y")->floatValue();

    /* 设置玩家坐标 */
    mPlayer->setPosition(ccp(playerX, playerY));
    

    /* 将玩家添加到地图 */
    map->addChild(mPlayer);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值