最早是在RPG Maker里面见到这种东西,相邻的块可以自动连接,大大方便地图绘制。素材长这个样子

一个大块是32x32的,然后每个大块又被分成4个16x16的小块,而这些小块总共可以组成47种大块(最后两个是一样的)。

(这两张图片来自这里,懒得去搞图了)

于是,给图1中的小块按行编号0~47,可以写出图2中每个大块的组成。

unsigned char AutoTileTab[48][4]={18,17,14,13,//02,17,14,13,//118,3,14,13,//22,3,14,13,//318,17,14,7,//42,17,14,7,//518,3,14,7,//62,3,14,7,//718,17,6,13,//82,17,6,13,//918,3,6,13,//102,3,6,13,//1118,17,6,7,//122,17,6,7,//1318,3,6,7,//142,3,6,7,//1516,17,12,13,//1616,3,12,13,//1716,17,12,7,//1816,3,12,7,//1910,9,14,13,//2010,9,14,7,//2110,9,6,13,//2210,9,6,7,//2318,19,14,15,//2418,19,6,15,//252,19,14,15,//262,19,6,15,//2718,17,22,21,//282,17,22,21,//2918,3,22,21,//302,3,22,21,//3116,19,12,15,//3210,9,22,21,//338,9,12,13,//348,9,12,7,//3510,11,14,15,//3610,11,6,15,//3718,19,22,23,//382,19,22,23,//3916,17,20,21,//4016,3,20,21,//418,11,12,15,//428,9,20,21,//4316,19,20,23,//4410,11,22,23,//458,11,20,23,//460,1,4,5,//47
};

给当前块周围的块编号0~7,如下图

    // 0 1 2// 3 _ 4// 5 6 7

只需根据{0,1,3}判断出当前块左上角,{1,2,4}判断出右上角,{3,5,6}左下角,{4,6,7}右下角,然后查 AutoTileTab 表即可,即

    //左上if (self == around[1]) {if (self == around[3]) {if (self == around[0]) {blocks[0] = 18;} else {blocks[0] = 2;}} else {blocks[0] = 16;}} else {if (self == around[3]) {blocks[0] = 10;} else {blocks[0] = 8;}}//右上if (self == around[1]) {if (self == around[4]) {if (self == around[2]) {blocks[1] = 17;} else {blocks[1] = 3;}} else {blocks[1] = 19;}} else {if (self == around[4]) {blocks[1] = 9;} else {blocks[1] = 11;}}//左下if (self == around[6]) {if (self == around[3]) {if (self == around[5]) {blocks[2] = 14;} else {blocks[2] = 6;}} else {blocks[2] = 12;}} else {if (self == around[3]) {blocks[2] = 22;} else {blocks[2] = 20;}}//右下if (self == around[6]) {if (self == around[4]) {if (self == around[7]) {blocks[3] = 13;} else {blocks[3] = 7;}} else {blocks[3] = 15;}} else {if (self == around[4]) {blocks[3] = 21;} else {blocks[3] = 23;}}SetTileId(i, j, (self << 6) + ToTileTabIndex(blocks));

上面只是刷新当前块,注意周围八块也要刷新

地形瓦片地图TiledMap AutoTiles自动图块相关推荐

  1. 转:瓦片地图TiledMap

    标签:tiledMap 3.x cocos tmx tile 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://shahdza.bl ...

  2. Cocos2d-x 3.x基础学习:瓦片地图TiledMap

    有谁还记得小时候玩的小霸王里的游戏?比如坦克大战.冒险岛.魂斗罗.吞食天地等,他们大部分都是基于Tile地图的游戏.但在手游中,基于瓦片地图的游戏很常见.如:<保卫萝卜>. 瓦片地图有专门 ...

  3. cocos2dx3.x加载瓦片地图TiledMap

    1.瓦片地图 就我个人理解所谓瓦片地图即由许多地图砖块拼成的整体的地图,这样的好处就是对不同地貌的地图块可以设置不同的属性,比如墙壁和河流显然是不能直接穿过的,而整体的地图显然要设置这样的属性就显得非 ...

  4. LibGDX游戏引擎-10-游戏地图(TiledMap)

    转载自:http://www.qiushurong.cn/2014/03/23/tiledmap/ 要做游戏地图,在libgdx中我们使用到的工具是TiledMap Editor,官方网址是:链接 T ...

  5. 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

    目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Pale ...

  6. 瓦片地图 cocos

    [前言] 还记得我们小时候玩的小霸王里面的游戏吗?大部分都是基于Tile地图的游戏,如坦克大战.冒险岛.魂斗罗.吞食天地等.而在手游中,基于瓦片地图的游戏也很常见.如:<保卫萝卜>. 瓦片 ...

  7. 加载多瓦片地图_手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取)...

    地理计算语言,为大众赋能地理智慧. --DAS Team 爬取分析DAS系统下载 地址:https://pan.baidu.com/s/1NkoyFhzMtm13ivlOOzukow 提取码:6ky8 ...

  8. (Tiled官方文档翻译)第五节:图块集的编辑

    编辑一个tileset(图块集)需要将图块集显式地打开.内部的图块集可以通过文件菜单来打开,但是通常是通过点击图块集窗口下方的"编辑图块集"小按钮来快速打开编辑图块集. 5.1 两 ...

  9. 手把手教-网络时空大数据爬取与分析DAS系统(瓦片地图获取)

    手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取) 原创 DAS Team 双评价DAS 地理计算语言,为大众赋能地理智慧. --DAS Team 爬取分析DAS系统下载 地址: htt ...

  10. idea 编写javafx_用JavaFX编写图块引擎

    idea 编写javafx 随着JavaFX嵌入式版本的问世,我们的框架对于游戏开发变得越来越有趣,因为我们现在可以瞄准平板电脑和智能手机等小型消费类设备. 因此,我决定对JavaFX进行更多的游戏编 ...

最新文章

  1. R语言将dataframe数据从宽表(wide)变为长表(long)实战:tidyr包的gather函数、cdata包的unpivot_to_blocks函数、data.table使用melt函数
  2. Day3-python基础3
  3. 照书学WPF之 Dependency Property 1
  4. http 协议上传文件multipart form-data boundary 说明--转载
  5. Vitalik Buterin:Casper 权益证明与分片技术最新进展
  6. 链表中位数(Middle of the Linked List)
  7. 1Password 将最高漏洞奖励调高至100万美元
  8. Linux---用户与用户组管理
  9. 116.填充同一层的兄弟节点
  10. RabbitMQ死信队列和备份交换器总结
  11. sas 服务器版安装文件,SAS软件各个版本,包括服务器版本的切磋了解
  12. MYSQL-Front新手连接数据库总结
  13. 网站优化的关键词选择的重要性
  14. FBReader阅读引擎支持的功能
  15. 正则表达式随记(3)常用的正则表达式
  16. 小巧 mvc servlet 通过反射 跳转 bussiness层
  17. adb install 命令参数
  18. 网易_在数组中查找前K个元素
  19. Python到底能做什么
  20. 免费云服务器使用体验

热门文章

  1. java关闭数据库连接_java 和数据库连接如果不关闭会怎么样
  2. 新浪股票接口获取历史数据
  3. 114企业网重金收购114库网
  4. JDK 1.6 API 中文版
  5. 自动生成java代码_自动生成代码
  6. 基于Java的企业新闻管理系统的设计与实现
  7. Ubuntu下的QQ-For-Linux 安装
  8. word 转换pdf 插件
  9. 《土豆荣耀》重构笔记(八)添加角色的动画
  10. catia飞机建模+flightgear飞行仿真