cocos2dx TMX地图

cocos2dx TMX地图,第1张

概述local map = cc.TMXTiledMap:create("map.tmx"):addTo(self); --加载地图 local mapProperties = map:getProperties(); --获取地图信息 print(mapProperties.type); local mapLayer = map:getLayer("scene");
local map = cc.TMXTiledMap:create("map.tmx"):addTo(self);  --加载地图    local mapPropertIEs = map:getPropertIEs();   --获取地图信息    print(mapPropertIEs.type);    local mapLayer = map:getLayer("scene");      --获取图层    local LayerPropertIEs = mapLayer:getPropertIEs();  --获取图层信息    print(LayerPropertIEs.type);    local tilePro = map:getPropertIEsForGID(1);    --获取图块信息    print(tilePro.type);    local objectGroup = map:getobjectGroup("object");   --获取对象组    local playerObj = objectGroup:getobject("player");  --从对象组获取对象    print(playerObj.type);    local colorObj = objectGroup:getobject("color");  --获取对象    local colorObjX = math.floor(colorObj.x / 32);    local colorObjY = math.floor(colorObj.y / 32);    local colorObjW = math.floor(colorObj.wIDth / 32);    local colorObjH = math.floor(colorObj.height / 32);    for x = colorObjX,colorObjX + colorObjW - 1 do        for y = colorObjY,colorObjY + colorObjH - 1 do            local sprite = mapLayer:getTileAt(cc.p(x,map:getMapSize().height - y - 1));            sprite:setcolor(cc.c3b(255,0,0));  --修改地图颜色        end    end    local player = display.newSprite("c.png"):addTo(self);    player:pos(playerObj.x,playerObj.y);        --在player处创建一个精灵    map:settouchEnabled(true);    --开启地图触摸    map:settouchMode(cc.touch_MODE_ONE_BY_ONE);    map:addNodeEventListener(cc.NODE_touch_EVENT,function (event)   --触摸事件回调函数        if event.name ~= "began" then return true  end  --只处理点击事件        local point = cc.p(0,0);        point.x = math.floor(event.x / 32);    --        point.y = map:getMapSize().height - math.floor(event.y / 32) - 1;  --将点击坐标转换成瓦片坐标        local tiled = mapLayer:getTileAt(point);  --获取对应瓦片        local gID = mapLayer:getTileGIDAt(point);  --获取瓦片GID        local p = map:getPropertIEsForGID(gID);    --通过GID获取信息        if type(p) == "table" and p.move == "true" then  --判断是否可以移动            player:pos(tiled:getposition());        end    end);
总结

以上是内存溢出为你收集整理的cocos2dx TMX地图全部内容,希望文章能够帮你解决cocos2dx TMX地图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存