Unity 脚本生成瓦片地图TileMap

参考:https://www.cnblogs.com/sanyejun/p/9298592.html
说明:

  • 利用unity3d里的TileMap生成地图。
  • 需要将地图块图片转化为精灵(sprite),注意控制图片大小,这里将sprite中的每单位像素大小设置为100,图片大小也是100*100。
    效果:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;public class MapEditor : MonoBehaviour
{public Tilemap tilemap;//引用的Tilemap,加入脚本后需要将对应tilemap拖进来private Dictionary<string, Tile> arrTiles; //地块种类private List<string> TilesName;string[] TileType;//大地图宽高public int levelW = 10;public int levelH = 10;// Start is called before the first frame updatevoid Start(){arrTiles = new Dictionary<string, Tile>();TilesName = new List<string>();InitTile();InitMapTilesInfo();InitData();}// Update is called once per framevoid Update(){}void InitData(){for (int i = 0; i < levelH; i++){//根据地面类型TileType初始化tilemapfor (int j = 0; j < levelW; j++){tilemap.SetTile(new Vector3Int(j, i, 0), arrTiles[TileType[i * levelW + j]]);}}}void InitMapTilesInfo(){//初始化地图信息,即每个单位对应的地面类型TileType = new string[levelH * levelW];for (int i = 0; i < levelH; i++){for (int j = 0; j < levelW; j++){TileType[i*levelW+j] = TilesName[Random.Range(0, TilesName.Count)];}}}void InitTile(){//创建3钟类型的地面瓦片AddTile("soil", "Image/soil");AddTile("brick", "Image/brick");AddTile("grass", "Image/grass");}void AddTile(string labelName,string spritePath){Tile tile = ScriptableObject.CreateInstance<Tile>();//创建Tile,注意,要使用这种方式Sprite tmp = Resources.Load<Sprite>(spritePath);tile.sprite = tmp;arrTiles.Add(labelName, tile);TilesName.Add(labelName);}
}

Unity 脚本生成瓦片地图TileMap相关推荐

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

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

  2. Unity脚本生成插件:Script Create Dialog

    最近写代码又犯懒了... 感觉每次新建脚本都要写一堆简单重复的东西好无聊,所以搜索了一下有没有自动生成脚本的插件.结果还真被我发现了,官方在N久之前就制作了自动生成脚本的插件[Script Creat ...

  3. Unity2D瓦片地图tilemap出现瓦片间间隙问题解决

    项目场景: Unity瓦片地图还是挺好用的,不过存在瓦片间间隙的问题 问题描述: 就比如这张图里方块间的蓝色线条,看着很是烦人. 原因分析: 肯定是有unity设置抗锯齿的问题,还有其他问题,就不太清 ...

  4. 12.Unity2D 横版 TileMap随机生成简易横版瓦片地图+随机生成环境(花草树石)精灵图+2d-extras+协程的应用

    量过大 总目录 本教程涉及协程,如果不懂协程请点击上方总目录6,7节课查看协程 为什么要用携程呢?因为协程可以使得整个函数在过程运行,而不用一帧中完成所有的函数,不然只得计算量过大,让机器卡住.  开 ...

  5. Unity(9)-TileMap瓦片地图

    文章目录 前言 相关介绍 其他介绍 上一篇笔记 下一篇笔记 一.图片预处理 二.创建调色板(TilePalette) 三.创建瓦片(Tile) [1]. 方式一 [2]. 方式二 四.修改瓦片(Til ...

  6. 转:瓦片地图TiledMap

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

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

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

  8. Unity Tilemap动态生成2d地图

    Unity Tilemap动态生成2d地图 (参考链接) rule tile 动态生成地图:https://blog.csdn.net/mkr67n/article/details/108340749 ...

  9. 【unity实战】随机地下城生成2——绘制地图Tilemap的使用及一些技巧的使用(含源码)

    绘制房间 修改素材配置 切割图片 绘制瓦片地图 先新建我们的调色盘,保存好位置 拖入我们刚才切片好的素材 在房间预设体创建我们的瓦片地图 绘制地图的小技巧 点选移动适合的瓦片移动到位置上绘画 框选复制 ...

  10. Tiled结合Unity实现瓦片地图

    前段时间应公司需求做瓦片地图,cocos与瓦片地图的结合案例很多,但unity的却少之又少,做瓦片地图少不了Tiled Map Editor(下载地址),这个教程很多,也自带例子,关于怎么拼地图,这里 ...

最新文章

  1. 字节跳动这项研究火了:基于残差UNet架构 ,一键分离伴奏和人声
  2. 华为交换机配置命令 华为QuidWay交换机配置命令手册
  3. 苹果6sp内存可以扩展吗_苹果手机iPhone 12 mini能用6年吗?网友:可以
  4. 【数据结构与算法】之深入解析“地下城游戏”的求解思路与算法示例
  5. Shell 学习笔记之运算符
  6. § Transitive Intransitive Verb
  7. 从高中生活步入大学生活
  8. kubernetes Service:让客户端发现pod并与之通信
  9. Android的LitePal开源数据库框架学习笔记
  10. Oracle数据库awr报告使用与分析
  11. JavaScript数据结构与算法-列表练习
  12. 深入理解和使用nginx
  13. 【第168期】游戏策划:草率了,这简历像极了脱缰的马儿
  14. excel如何制作图表
  15. 手把手教你电机FOC控制【二】
  16. 瘦,是一种信仰。轻,是一种理想
  17. Android-蓝牙的网络共享与连接分析
  18. 【对比分析】vipkid和51talk哪个好?说说我的亲身经历!
  19. 超级简单小程序点赞功能
  20. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Sparsity

热门文章

  1. php libiconv close_无法编译PHP undefined reference to `libiconv_open
  2. 【APIcould】连接手机,通过APPLoader在手机上实时展示项目效果
  3. 计算机录音机应用程序在哪,Windows录音机在哪 电脑录音机怎么用
  4. 计算机综合能力知识,通信工程师中级综合能力常考知识点集锦(三):计算机应用基础...
  5. 【可视化应用案例】使用ProPlot绘制兰伯特投影的填色图
  6. Spring源码学习一,下载Spring源码并配置gradle环境
  7. 黑苹果xxx.efi格式文件详解
  8. Hitool工具烧写程序(按分区烧写)
  9. 福利来了,axure8.1注册码
  10. 调整Eclipse字体大小