经过了一天的思考 大概有了一点想法
首先我将tilemap类型改成了custom(因为isometric每个图块距离有点太近了还是搞成自定义后距离可以调整)
将自定义编号改成如图配置就和isometric类型一样了
![](https://godoter.cn/assets/files/2022-01-04/1641307588-903928-snipaste-2022-01-04-22-17-11.png)
然后为了更好的看效果 我们添加一个摄像机 注意勾选其中的锚点模式与启用属性
![](https://godoter.cn/assets/files/2022-01-04/1641307615-828863-snipaste-2022-01-04-22-20-44.png)
![](https://godoter.cn/assets/files/2022-01-04/1641307968-610643-snipaste-2022-01-04-22-29-24.png)
顺便开始添加脚本并定义一些属性
![](https://godoter.cn/assets/files/2022-01-04/1641307647-595473-snipaste-2022-01-04-22-24-19.png)
为什么用内部类来存储数据而不是字典
我思考的是以后会涉及到图块的数据计算 可以在内部类自定义一些方法 直接调用
而字典做不到这个效果
之后就是我们熟悉的ready函数
添加一个5*5的地图来测试一下
![](https://godoter.cn/assets/files/2022-01-04/1641307780-382302-snipaste-2022-01-04-22-26-27.png)
其中的每个地图的属性都是随机的 type对应tilemap的图块索引
我们来看看效果吧
![](https://godoter.cn/assets/files/2022-01-04/1641307832-349534-snipaste-2022-01-04-22-26-44.png)
很好 但是我们的摄像机还不能移动 我们只能看到一半地图
我们通过监听鼠标滚轮 与 鼠标中键 来 缩放摄像机 与 拖动摄像机
![](https://godoter.cn/assets/files/2022-01-04/1641308071-60786-snipaste-2022-01-04-22-53-54.png)
我们来看看效果:
感觉还行
接下来我们继续添加鼠标左键监听
用鼠标左键的点击来获取每一个图块的数据
![](https://godoter.cn/assets/files/2022-01-04/1641308164-101834-snipaste-2022-01-04-22-36-38.png)
最后来测试一下:
成功 后面我将附上代码与demo文件