Unity补完计划 之 动态控制TileMap

news2024/11/17 12:49:08

本文仅作笔记学习和分享,不用做任何商业用途

本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正

1.TileMap &TileBase

Unity - Scripting API: Tilemap ,看手册内容太多了故介绍几个常用的公共方法

首先,搞清楚对象,TileMap的变量就是控制这个东西

其次,知道TileBase的变量是最基本的瓦片,就像是gameobjcet一样是unity最小的活动单位

动态设置瓦片

注意我的瓦片地图上空出了两个格子,他俩的坐标在右上角(-1,3,0)和(-1,2,0)

我设置了两个瓦片,拖入了相应的资源,创建了一个tilemap变量利用其中的公共方法

public class ContalTileMap : MonoBehaviour
{
    public Tilemap tilemap;
    public TileBase tile1;
    public TileBase tile2;
    private void Start() {

        //将指定坐标设置成你想要的瓦片
        tilemap.SetTile(new Vector3Int(-1,3,0), tile1);
        tilemap.SetTile(new Vector3Int(-1, 2, 0), tile2);     
    }
}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

动态得到瓦片坐标

tilemap.GetTile(new Vector3Int(0, 0, 0));
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

动态删除瓦片 

tilemap.SetTile(new Vector3Int(-1, 2, 0),null);

批量替换瓦片

参数1是要被替换的瓦片,参数2是替换成什么样子的瓦片

tilemap.SwapTile(tile1, tile2);

清除所有瓦片

tilemap.ClearAllTiles();

 2.Grid

实际上,瓦片地图不只是瓦片,还有网格,所以也可以用Grid类去创建变量,和使用其方法

如果想要屏幕坐标转为网格坐标,可以先使用世界坐标转屏幕坐标的api

Vector2 mousePos = Input.mousePosition;
Vector3 worldPos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, 0));

之后世界坐标转网格坐标

Vector3Int gridPos = tilemap.WorldToCell(worldPos);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1991453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个IT能拖垮整个公司?你若不信,看完此文再来评论

看到文章的标题,你也许会心生疑惑:一个IT真的能拖垮整个公司吗?也可能会觉得我根本就是在哗众取宠、博人眼球。 而我要说,在特定的条件下,这真的不夸张,你若不信,且听我娓娓道来,看完…

java maven项目如何分析循环依赖并使用maven helper插件排查排除依赖

文章目录 java maven项目如何分析循环依赖并使用maven helper插件排查排除依赖分析项目依赖插件Maven Helper找到并排除循环的依赖 java maven项目如何分析循环依赖并使用maven helper插件排查排除依赖 分析项目依赖 选择检测整个项目 查看红色的模块,都是有循环依…

问卷星无法选择复制

删除<link rel"stylesheet" href"//image.wjx.cn/joinnew/css/jqmobo.css?v5187">

【信创】Linux如何增加与删除交换分区 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;信创】Linux如何增加与删除交换分区 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在信创终端操作系统上如何增加与删除交换分区的文章。交换分区&#xff08;Swap&#xff09;在Linux系统中扮演着重要角色&…

思特威正式发布子品牌飞凌微,首发产品定位智驾视觉处理

2024年8月8日&#xff0c;中国上海 — 思特威&#xff08;上海&#xff09;电子科技股份有限公司&#xff08;股票简称&#xff1a;思特威&#xff0c;股票代码&#xff1a;688213&#xff09;正式发布全资子公司品牌——飞凌微电子&#xff08;Flyingchip™&#xff0c;以下简…

工具学习_CAPA a ATTCK

随着网络威胁的日益复杂和多样化&#xff0c;恶意软件的分析与识别成为安全领域的重要挑战。在这个背景下&#xff0c;静态分析技术成为了对抗恶意软件的有效手段。CAPA 作为一款强大的静态分析工具&#xff0c;能够帮助分析师快速提取恶意软件的静态特征&#xff0c;而 ATT&am…

无线领夹麦克风和有线哪个好?求知无线领夹麦哪个牌子好?

如今&#xff0c;自媒体行业蓬勃发展&#xff0c;音频设备作为创作过程中不可或缺的一部分&#xff0c;越来越受到重视。无线领夹麦克风因其出色的性能和便携性&#xff0c;逐渐成为市场上的热门产品。购买无线领夹麦克风已经成为许多创作者的共识。然而&#xff0c;面对市面上…

自动驾驶系列—图像到IPM:深入解析IMP投影变换技术

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

第十九天(2024.8.7)Vue Element-plus

1.Vue 1.创建vue文件 1.创建一个文件夹来存储vue文件 我在D盘下创建了一个EasyVue文件夹来存储vue文件 2.在控制台中输入 如果在控制台中按下面步骤成功不了的话&#xff0c;尝试&#xff1a;1.用管理员身份运行控制台 2.关闭防火墙 3.打开编码工具&#xff08;Visual St…

易基因:干旱胁迫下的作物DNA甲基化动态变化 | 植物抗逆

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 干旱&#xff08;Drought&#xff09;会对植物的生长、发育和生产力造成严重损害&#xff0c;是最具危害性的环境因素之一。植物已经进化出复杂的调控网络和干旱胁迫的抗性策略。作为一种…

终于有人把客户成功讲明白了

作者&#xff1a;沈建明 对ToB企业来说&#xff0c;只有客户成功才能带来持久增长&#xff0c;在SaaS企业下行大背景下&#xff0c;客户成功是唯一的救命稻草。大家是不是都听过这样的说法&#xff1f; ToB和SaaS企业的老客户贡献对于企业至关重要。因为获取新客户的成本是留…

Pycharm中重命名项目之后切换虚拟环境

Pycharm中重命名项目之后切换虚拟环境 场景 在Pycharm里面Rename Project/Directory之后&#xff0c;通常需要切换虚拟环境。 步骤 # 退出当前虚拟环境 deactivate # 删除旧的虚拟环境 .venv # 新建新的虚拟环境 python -m venv .venv # 切换到新的工程目录 cd E:\Bigdata\…

HexView 刷写文件脚本处理工具-基本功能介绍(六)-导出MIME/BIN/FIAT/FORD

导出MIME编码数据 这个选项将数据文件导出为MIME编码格式,并使用BASE64编码。 导出二进制数据 此选项会将所有数据内容按照它们出现的顺序写入一个二进制文件。 导出二进制块数据 这个选项将数据导出到一个二进制文件中。但是,如果内部数据文件包含多个块,数据将被写…

Qt 跨平台APP单实例运行实现

一.调用方法 支持coreApplication和简单的application两种继承&#xff1a; 二.源码地址&#xff1a; SingleApp: Qt 单实例实现

代码随想录打卡第四十九天

代码随想录–单调栈部分 day 49 单调栈第二天 文章目录 代码随想录--单调栈部分一、力扣42--接雨水二、力扣84--柱状图中最大的矩形 一、力扣42–接雨水 代码随想录题目链接&#xff1a;代码随想录 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列…

HexView 刷写文件脚本处理工具-基本功能介绍(十)-数据自动对齐与填充

文件 在二进制文件被编译出来后,如果没有在链接文件中进行填充的话,通常都是分段落的,还有一些不需要的信息在里面,如果没有对齐的话可以用hexview进行对齐。 一般还会要求进行数据的填充,这样的话释放的刷写文件就是一个整体的段落。 数据对齐 数据对齐操作是基于块的…

使用WPF将window 添加到TabControl里面的方法

首先 1.window 不能添加到其他控件中&#xff0c;原因是他是最高级的。。 在window usercontrol&#xff0c;以及page&#xff0c;frame 基本都遵循这个道理&#xff0c;可以添加的则是 除window以外的其他窗体。 2.添加到TabControl 下面的TabItem 控件添加usercontrl我遇到的…

AMEYA360:灵动微电子MM32SPIN0230为核,打造All-in-One智能功率模块

全新电动牙刷市场、小风机市场革新性选择MM32SPIN028C即将发布! 在个人护理日益受到重视的今天&#xff0c;电动牙刷市场正迎来前所未有的增长&#xff0c;而手持风扇也在消费电子领域迅速崛起。作为位居前列的的中国本土32位MCU供应商&#xff0c;灵动微电子宣布将在近期与合作…

\si{\angstrom} 埃米 latex 显示

使用 textcomp 包&#xff1a; 这个包提供了许多额外的文本符号&#xff0c;包括埃米符号。在导言区添加&#xff1a; \usepackage{textcomp} 然后在文档中使用&#xff1a; \textangstrom 使用 gensymb 包&#xff1a; 这个包也提供了埃米符号。在导言区添加&#xff1a; \…

蛋白质生物学:从序列到结构和疾病 下载并同时打开1LYZ和1H6M的PDB文件(提交图片)。描述这种蛋白质的二级和三级结构。(10分)

Download and open the PDB files of 1LYZ and 1H6M together in one view (submit an image). Describe the secondary and tertiary structure of this protein. (10 marks) 下面给出完整详细的解答&#xff1a; 同时打开1LYZ和1H6M的PDB文件得到&#xff1a; 首先二级结构…