大家好,这里是秋野
这一篇将会是这个功能的完结
(资料图片)
虽然这个东西具体要应用到某个游戏里面还需要修改和优化
而这篇文章更多是给自己的一个记录与思路整理分享
多谢大家的支持
↓↓↓上一篇链接↓↓↓
接下来继续上篇的内容
咱们在上一篇的结尾部分定义了用于保存StyleTile的数据类型
现在在使用它们之前先把自动化保存他们的程序写了
也就是咱们要继续改我们的生成器了
这里新增了两个UI组件,并且优化了一下按键的逻辑
然后就是CreateStyleTileList()这个逻辑
其实跟之前快速生成TilingRule的方法是类似的,只是没那么复杂
具体效果如下
那么,我们魔改RuleTile就差不多完成了
接下来就是运行时的代码了
首先先添加一个StyleLayer
然后先用图文理顺逻辑
我们要切换成斜边的本身是一个转角
我们之前就把转角的方向记录下来了
在上面这个图的转角方向是(1,1,0)
然后我们要在蓝色的格子的坐标实际上就是
转角方向的x和y值拆开减去红色的位置值
就能获得这两个蓝色Tile的坐标
然后我们需要加遮盖的Sprite方向就是红色Tile的转角方向
那么咱们先写一个核心的方法
用于更新styleLayer上面的Tile的逻辑
为了避免报错等一系列bug
这里用了很多if,具体作用看一看注释
然后咱们再写一个刷新四周的styletile的方法
然后在修改一下之前的
UpdateAroundTileAtBaseTiles(Vector3Int pos)
和
SwitchTile(Vector3Int pos)
修改这些代码后就已经可以在运行时去随便画画写写修改了
但目前这个功能只能在运行时运作
思路分析与整理就到这里了
之后可能会更新一些关于Tilemap的应用
如果有更好的优化方案,欢迎在评论区中讨论
如果能帮助到你,可以给个一键三连
那么,下次再见
关键词: