精华内容
下载资源
问答
  • Tiled

    2015-01-04 13:54:48
    Tiled 中 Y 轴是向下的,而 cocos2d-x 中 Y 轴是向上的   // 将 color 区域全部变成红色   for ( int x = colorObjX; x ; x++) {   for ( int y = colorObjY; y ; y++) {    ...
    specify/'spesɪfaɪ/ 指定;列举;详细说明
    点击符号”>>"—编辑地图信息---增加地形类型-将”新地形"改名为t  如果编辑错了必须要点击下“清除”  再点击“清除”才能继续绘图  选中的那个图块也要涂抹上-----close
    在地图中画新图形t
    地图—Map Properties—点击右下角”+“—输入type—输入”我是地图属性“
    选中右上角的 scene —此时右下角显示为Tile Layer 点击”+“—输入type—输入”我是图层属性“
    图块—选中第一块图块-此时右下角显示为ID 0 点击”+“—输入type—输入”我是图块属性“
    点击 scene下面的“添加对象层”—输入object—选择“插入矩形”---选择“插入椭圆形”--选择“编辑多边形”—在右下角名称输入 player    选中矩形区域 在右下角名称输入 color
    给player-- 点击”+“—输入type—输入”我是对象属性“
    保存在桌面 map
    Xcode—单击map.tmx

    在player所在的图块(ID33)上添加属性move  输入”true“   表示player在该图快上是可以移动的
    保存新地图,将Xcode中原来的地图删掉,添加新地图到Xcode


        auto map = TMXTiledMap::create("map.tmx");
       
       
    addChild(map);
       
       
       
    //map属性是一个字典
       
    auto maProperties = map->getProperties();
    //   传入一个key 也就是type
       
    auto str =maProperties["type"].asString();
       
    CCLOG("map pro:%s",str.c_str());
       
       
    //获取图层属性
        auto sceneLayer = map->getLayer("scene");
        auto layerProperties = sceneLayer->getProperties();
        
    CCLOG("scene pro:%s",layerProperties["type"].asString().c_str());
       
       
    //获取图块属性
       
    // ID 返回值为value类型 这里需要转换为ValueMap类型
       
    auto tilePro = map->getPropertiesForGID(1).asValueMap();
       
    CCLOG("tile pro:%s",tilePro["type"].asString().c_str());
       
       
       
    //获取对象属性
       
    auto objectGroup = map->getObjectGroup("object");
       
       
    auto obj = objectGroup->getObject("player");
       
    CCLOG("tile pro:%s",obj["type"].asString().c_str());
       
    //修改指定区域的颜色
       
    auto colorObj = objectGroup->getObject("color");
       
    CCLOG("tile pro:%s",colorObj["type"].asString().c_str());
       
       

       
    auto colorObjX = colorObj["x"].asInt()/32;
       
    auto colorObjY = colorObj["y"].asInt()/32;
       
    auto colorObjW = colorObj["width"].asInt()/32;
        auto colorObjH = colorObj["height"].asInt()/32;
        //    TiledY轴是向下的,而cocos2d-xY轴是向上的
        //color区域全部变成红色
        for (int x = colorObjX; x < colorObjX+colorObjW; x++) {
           
    for (int y = colorObjY; y < colorObjY+colorObjH; y++) {
               
               
    //TiledY轴是向下的,而cocos2d-xY轴是向上的所以用map->getMapSize().height-y代替y
               
    auto sprite = sceneLayer->getTileAt(Vec2(x, map->getMapSize().height-y));
                sprite->
    setColor(Color3B(255,0,0));
            }
        }
       
       
       
       
    //加载小球
       
    auto player = Sprite::create("c.png");
        player->
    setPosition(obj["x"].asFloat(), obj["y"].asFloat());
       
    addChild(player);
       
       
    auto eventListener = EventListenerTouchOneByOne::create();
        eventListener->
    onTouchBegan = [map,sceneLayer,player](Touch* touch,Event *event){
           
           
           
           
    auto point = map->convertToNodeSpace(touch->getLocation());
            point.
    x = static_cast<int>(point.x/32);
           
           
    //MapSize().height 图块的高度是从1开始的所以需要减去1point的高度是从0开始的
            point.
    y = map->getMapSize().height-static_cast<int>(point.y/32)-1;
           
           
    auto t = sceneLayer->getTileAt(point);
    //        t->setColor(Color3B(255,0,0));
    //        获取该位置的图块ID
           
           
    auto gid = sceneLayer->getTileGIDAt(point);
           
    auto p = map->getPropertiesForGID(gid).asValueMap();
           
           
    if (p["move"].isNull()!=true &&  p["move"].asBool() == true) {
                player->
    setPosition(t->getPosition().x,t->getPosition().y);
            }
           
           
           
           
    return false;
        };
       
       
        _eventDispatcher->addEventListenerWithSceneGraphPriority(eventListener, map);
    展开全文
  • About Tiled Tiled is a general purpose tile map editor for all tile-based games, such as RPGs, platformers or Breakout clones. Tiled is highly flexible. It can be used to create maps of any size, with...
  • Tiled Rework

    2020-12-26 19:23:29
    <p>-Oh yes, forget to mention that content pipeline Tiled code has moved to <code>MonoGame.Extended.Content.Pipeline.Tiled</code> library. Developers will need to add <code>MonoGame.Extended.Content....
  • Tiled example

    2020-12-02 04:28:36
    <div><p>I did a <a href="https://github.com/TatriX/rs-tiled-piston-example">simple example</a> which shows how to render a simple map from the <a href="http://www.mapeditor.org/">tiled</a> editor. ...
  • Tiled Screenshots

    2020-12-07 04:06:12
    <a href="https://github.com/Simbul/baker/tree/tiled-screenshots">tiled-screenshots</a>". I'd like your help to do some tests with Baker, to see if this can be used on the master branch. <p>...
  • Tiled Fix

    2020-12-26 05:32:16
    <div><ul><li>Fixes a namespace issue with a conflict between <code>MonoGame.Extended</code> library and <code>MonoGame.Extended.Tiled</code> library. This is what is preventing people from using the ...
  • Tiled storage

    2021-01-09 14:43:18
    <p>You need a tiled storage layout so that progressive retrieval of cropped regions is efficient. You need to be able to quickly fetch and decode a high resolution portion of the image, without ...
  • Tiled Overlay

    2020-12-06 02:30:55
    <p>what about a tiled overlay? Maybe the function could look something like that: <pre><code>php function overlayTiled($overlay, $opacity = 1, $xOffset = 0, $yOffset = 0, $xMargin = 10...
  • mapwin+Tiled

    2017-02-08 16:51:06
    mapwin+Tiled
  • 瓦片地图(Tiled Map)瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎。不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源的瓦片地图编辑器Tiled Map Editor...

    瓦片地图(Tiled Map)

    瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎。不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源的瓦片地图编辑器Tiled Map Editor生成并保存为TMX文件格式,被Cocos2d-x支持。

    TMX 瓦片地图格式

    Cocos2d 支持被Tiled创建的地图文件(TMX)。

    Tiled 的2个版本:

    Java版较为稳定,可以在Mac OS X, Windows 以及Linux运行。

    QT(native)版本支持绝大多数Java版本的功能。在此帮助文档建立时,最新的QT版本为0.4.0并支持除六边形地图(hexagonal maps)以外的所有功能。

    开发者可以自由的选择使用Tiled的两种不同版本,我们建议你使用Tiled团队主要开发的QT版本以保证你获得最好的支持及更新。但因为目前Java版一些特性还未完全移植到QT版本中,一些开发者仍然喜欢使用Java版本的Tiled。

    【Ray教程】 如何使用Tiled工具建立地图:

    Cocos2d supports the following TMX maps:(Cocos2d 支持如下TMX地图形式)

    地图定向( Orientation):Orthogonal maps 直角鸟瞰地图(90°地图)

    Isometric maps  等距斜视地图(斜45°地图)

    Hexagonal maps  六边形地图 ( 左右或上下边界的六边形地图不被Tiled支持)(edges on left-right. edges at top-bottom are not supported… it seems that Tiled doesn’t support them either)

    地图形式(Tiles):被嵌套的瓦片地图不被支持(如 使用瓦片素材组与其他图片)

    仅支持封装瓦片地图组(仅有瓦片素材组被导入地图文件)

    每个Layer最多支持1套瓦片素材组。

    地图层(Layers):Tiles中Layer的数量没有上限。

    每一个Layer可以被CCTMXLayer类表示( 为CCSpriteSheet的子类)

    每一个单一的瓦片被CCSprite表示(父节点为CCTMXLayer)

    对象组 (Object Groups):瓦片地图支持对象组

    坐标(Coordinates) 和 全局标识(GIDS)

    坐标

    64*32的Tiled瓦片地图文件的坐标系统为:(0,0): 左上角

    (63,31): 右下角

    0256154qn.jpg

    全局标识(GIDS)

    瓦片的GID是一个全局标识量,他的范围从正整数1开始,到瓦片地图中tile的总量。

    025617JFk.jpg

    如果你的地图中有5个不同的瓦片,那么:瓦片0的GID为1

    瓦片1的GID为2

    瓦片3 的GID为3

    以此类推

    瓦片的GID 为 0 被用来表示此瓦片为空。

    如何建立一个TMX节点

    // create a TMX mapCCTMXTiledMap*map=CCTMXTiledMap::create("TileMaps/iso-test-vertexz.tmx");addChild(map,0,kTagTileMap);// All the tiles by default will be aliased. If you want to create anti-alias tiles, you should do:// iterate over all the "layers" (atlas sprite managers)// and set them as 'antialias'CCArray*pChildrenArray=map->getChildren();CCSpriteBatchNode*child=NULL;CCObject*pObject=NULL;CCARRAY_FOREACH(pChildrenArray,pObject){child=(CCSpriteBatchNode*)pObject;if(!child)break;child->getTexture()->setAntiAliasTexParameters();}

    如何获取/添加/删除/修改一个瓦片

    指定坐标获取Tile:

    CCTMXLayer*layer=map->layerNamed("Layer 0");CCSprite*tile0=layer->tileAt(ccp(1,63));

    指定坐标获取GID

    unsignedintm_gid=layer->tileGIDAt(ccp(0,63));

    指定坐标设置一个新的GID

    layer->setTileGID(m_gid,ccp((float)3,(float)3));// To remove a tile at a certain coordinatelayer->removeTileAt(ccp(5.0,5.0));

    遍历Layer中的瓦片

    CGSizes=layer->getLayerSize();for(intx=0;xtileGIDAt(ccp(x,y));layer->setTileGID(tmpgid+1,ccp(x,y));}}

    Z序列和深度缓冲

    以下信息仅针对俯视地图( Orthogonal)和斜视地图(Isometric)。对六边形地图(Hexagonal)无效。

    如果你的游戏需要根据精灵的Y坐标把精灵放置到一些特定瓦片的前面或后面(在斜视地图中常见,同时出现在一些俯视地图中),那么你有2个选择:使用OpenGL ES 深度缓冲

    使用多Layer的TMX设置Z序列

    深度缓冲(Depth Buffer)

    建立一个含有至少2个TMX Layer层的瓦片地图很重要:一个背景层,例如草地

    一个前景层,例如树木

    025618SB8.jpg

    草地层会显示在精灵之后,所以他的z序列应该为最小的值,例如-1000. 树木层中的每一个单一瓦片应该有不同的Z序列值,在底部的瓦片的Z序列应该大于顶部的瓦片序列。

    0256193Un.jpg 

    025619D8m.jpg

    因此,为了实现分层显示,你只需要做如下步骤:打开Tiled编辑器

    选择背景层(如草地)

    选择 Tiled → Layer → Layer Properties  设置Layer的属性

    添加: cc_vertexz = -1000

    选择前景层(如草地)

    选择 Tiled → Layer → Layer Properties

    添加 cc_vertexz = automatic 让其根据坐标自动排Z序列。

    范例:

    斜视地图Z顶点范例。 地图有2个层,”树木“层和”草地“层。 对“树木”设置属性 cc_vertex=automatic。然后对“草地”层添加 cc_vertexz=-1000。

    0256201sn.jpg

    俯视地图Z顶点范例。 地图同样有2个层,”树木“层和”草地“层。对“树木”设置属性 cc_vertexz=automatic 并且cc_alpha_func=0.5。 然后对“草地”层添加属性cc_vertexz=-1000。

    025621fbo.jpg

    使用多层TMX地图和Z序列

    在TXM地图中,每一个层(Layer)都被自动赋值了一个Z序列(zOrder),因此不需要添加任何层的z序列属性在TMX编辑器中。将你的精灵添加为TXMMap的子节点可以让你自动的替换当前Layer上的对象。

    CCSpritem_tamara=CCSprite::create(tamara.png);CCPointp=m_tamara->getPosition();p=CC_POINT_POINTS_TO_PIXELS;floatnewZ=-(p.y+32)/16;m_tamara->setVertexZ(newZ);

    025622I90.jpg

    屏幕截图

    俯视地图用了3D的投影和抗锯齿瓦片,瓦片被spritesheet-fixer工具处理过,使用3D投影和抗锯齿也不会有人为变化的痕迹。

    025623OkY.jpg

    俯视地图,地图上瓦片尺寸小于实际瓦片大小。

    025624TyG.jpg

    斜视地图 2D投影与抗锯齿瓦片

    025625X7Y.jpg

    六边形地图,2D投影和抗锯齿瓦片。边界界定为瓦片的左右边界。以上下为边界的界定暂不支持。

    0256276fa.jpg

    参考

    展开全文
  • When I try to open a tiled file it says: "Loading summary Succeeded: 0 Warnings: 0 Errors: 1 Object reference not set to an instance of an object. " I don't exactly know what this should...
  • tiled软件下载

    2018-08-14 12:54:47
    cocos creator配套使用的地图绘制软件tiled,方便地图绘制。
  • s been quite a few questions and issues raised recently about improving the Tiled renderer and the API around it. I've been wanting to make some improvements to our Tiled stuff for quite some time...
  • I am trying to use a Tiled map in my project, but have run into an issue preventing me from building. I’ve been able to get the Tiled Map Importer/Processor referenced etc. But, when I add my map and...
  • C:\Program Files\Tiled2Unity\Tiled2Unity.exe" %mapfile</code> in Tiled it fails to start Tiled2Unity and gives the error: "The command failed to start". <p>I am using Tiled version 1.0.1 ...
  • Tiled-1.0.3.msi

    2020-10-05 21:32:23
    tiled map 编辑器 Tiled-1.0.3-win64.msi Tiled-1.0.3-win32.msi
  • Tiled Windows Behavior

    2020-12-27 12:11:08
    <div><p>xdg-shell stable clients should use tiled edges instead of being maximized when a window is tiled to a half or quarter of the screen. <p>Currently, GTK Windows look broken when tiled to the ...
  • tiled-0.15.1-win64 Tiled Map Editor 地图编辑器
  • Tiled support updated

    2021-01-09 00:57:20
    <div><p>Hello, I was wondering if there was any plan to update the tiled version support. The documentation states that tiled 0.9.1 is the latest supported version but since then many features were ...
  • Tiled Screenshare-crx插件

    2021-03-22 21:10:26
    用于在Tiled中启用屏幕共享 在Tiled(现场和内部销售团队的交流平台)中启用屏幕共享功能。 支持语言:English (United States)
  • Improve Tiled Support

    2020-11-22 23:01:53
    <p>Support for Tiled is poor. Arcade does not support single file tsx, it does not support non-polyline hitboxes, the functionality is largely un-documented, and the code has few comments, and it is ...
  • Tiled image rotation

    2020-12-01 00:35:31
    For now, one can specify a degrees parameter to a tiled image. The tiled image will be rotated around it top left corner. <p>TODO: - [x] fix computation of the list of tiles to draw (some tiles are ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,905
精华内容 1,162
关键字:

tiled