1,如果要实现当tilemap里面的格子与其他的对象发生碰撞后,消除碰撞的那个格子,使用如下代码。

void OnCollisionEnter2D(Collision2D collision)
{
Vector3 hitPosition = Vector3.zero;
if (tilemap != null && tilemapGameObject == collision.gameObject)
{
foreach (ContactPoint2D hit in collision.contacts)
{
hitPosition.x = hit.point.x - 0.01f * hit.normal.x;
hitPosition.y = hit.point.y - 0.01f * hit.normal.y;
tilemap.SetTile(tilemap.WorldToCell(hitPosition), null);
}
}
}

  其中,tilemap就是发生碰撞的tilemap对象,代码来自,unity的github https://github.com/Unity-Technologies/2d-techdemos/tree/2018.2

2,如何给unity的tileMap里的cell添加特定的属性。

做法就是写一个类,继承至TileBase,然后这个类你可以写任何你可以自定义的函数。

但值得注意的是,这里创建的是一个模板,我们依然无法让2个一样模板的tile状态不同。

代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps; [CreateAssetMenu]
public class MarkTile : TileBase
{
public string markType = "";
public Sprite look; public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
{
tileData.sprite = look;
base.GetTileData(position, tilemap, ref tileData);
}
}

  加完之后,就可以在游戏界面的Assets--create 里面看到这个叫做markTile的资源创建选项了。

tileData.sprite = look;

  这句很关键,是可以让你设置你这个自定义的tile在地图上的显示图片的。

最新文章

  1. Makefile <网络转载>
  2. python——复制目录结构小脚本
  3. php从零开始
  4. git error
  5. oracle sqlloader 用法
  6. 今天 同一个Nav 左右button 替换不显示的问题 viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
  7. 多线程NSOperation
  8. 16_AOP入门准备_动态代理模式
  9. CornerStone 破解 最简单的破解方法
  10. js实现a标签超链接提交form表单的方法
  11. 【LeetCode】3Sum 解决报告
  12. 段落p元素内的响应式文本布局就靠rem单位实现
  13. 关于jquery中封装函数如何传递当前元素的问题
  14. python实战===使用随机的163账号发送邮件
  15. Shiro SpringMVC 非maven HelloWorld
  16. File构建实例的路径:绝对路径和相对路径
  17. ansible-playbook 主机变量1
  18. 不可不说的Java“锁”事
  19. Python编程学习,高效求解素数程序实例
  20. 杂项: Memcached

热门文章

  1. [转载]Yacc基础
  2. O049、准备 LVM Volume Provider
  3. 利用Cmake 将最新版本OBS编译成windows版本。
  4. 微信小程序点击复制功能
  5. mintUI和mUI
  6. Vue异步请求最佳实践
  7. Mount Windows (CIFS) shares on Linux with credentials in a secure way
  8. current status of the installation and the internationalization of Samba 3.0
  9. DA_06_iptables 与 firewalld 防火墙
  10. Tomcat管理页面