cocos2dx3.2 加载地图和读取数据的简单使用

本文介绍了如何在cocos2dx3.2中加载TMX地图文件并读取对象数据。通过创建TMXTiledMap实例加载game.tmx地图,获取特定对象层,遍历所有对象,提取id、显示时间、坐标等信息,并以Label形式展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    

    Director::getInstance()->getVisibleSize();

    auto tg = TMXTiledMap::create("game.tmx");  //加载地图文件

    this->addChild(tg);

    

    auto monster = tg->getObjectGroup("monster"); //获取地图对象层

    int height = 0;   

    

    auto vcObjects = monster->getObjects(); // 获取对象层中所有的对象

    for (auto v : vcObjects) {


        const ValueMap dict = v.asValueMap();

        int id = dict.at("id").asInt();

        float fShwoTime = dict.at("showTime").asFloat();

        int posX = dict.at("x").asInt();

        int posY = dict.at("y").asInt();

        auto msg = String::createWithFormat("X = %d, y= %d, id = %d, showTime = %f",posX, posY, id,fShwoTime);

        

        auto lbel = Label::create(msg->getCString(), "Arial", 24);

        auto size = lbel->getContentSize();

                lbel->setPosition(Vec2(visibleSize.width /2 , visibleSize.height - size.height / 2 - height));

        height += size.height;

        this->addChild(lbel); // label 显示打印信息

    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值