今天我们用观察者模式 制作一个模仿王者荣耀的小地图功能
小地图包含功能:
1、在小地图显示塔、士兵
2、显示小地图某处闪烁特效
3、在小地图点击,可以实现摄像机移动到手指的位置
4、在小地图滑动,可以实现摄像机跟随手指移动
测试方法:
按键1: 生成soldier
按键2: 生成tower
按键z: 显示警报信号小地图icon
按键x: 取消显示警报信号小地图icon
按键c: 修改警报信号小地图icon
按键u: 取消显示最后一个物体的小地图icon
使用方法:
>修改“MiniMapView.ts”脚本的mapSize为实际的地图大小。
>初始化 塔、兵 小地图icon
需要在小地图显示的物体上添加初始化方法
1 2 |
MiniMapElement miniMapElement = gameObject.AddComponent(); miniMapElement.Init( MiniMapElementIconType.Owner_Soldier ); |
>显示 塔、兵 小地图icon (自动执行)
初始化时自动显示小地图icon
若需要手动显示icon,则执行:
1 |
miniMapElement.enabled = true; |
>更换 塔、兵 小地图icon
1 |
MiniMapMessageDispatcher.PostElementMessage( MiniMapElementStateType.Update, miniMapElement.id, MiniMapElementIconType.Enemy_Soldier ); |
>移除 塔、兵 小地图icon (自动执行)
在物体隐藏或者销毁时,自动移除在小地图上icon
若需要手动移除icon,则执行:
1 |
miniMapElement.enabled = false; |
>初始化 警报信号 小地图icon
1 2 |
int effectId = MiniMapController.MakeId(); MiniMapMessageDispatcher.PostElementMessage( MiniMapElementStateType.Create, effectId, MiniMapElementIconType.Effect1 ); |
>显示 警报信号 小地图icon
1 |
MiniMapMessageDispatcher.PostElementMessage( MiniMapElementStateType.Update, effectId, new Vector3( 2, 1, 0 ) ); |
>更换 警报信号 小地图icon
1 |
MiniMapMessageDispatcher.PostElementMessage( MiniMapElementStateType.Update, effectId, MiniMapElementIconType.Effect2 ); |
>移除 警报信号 小地图icon
1 |
MiniMapMessageDispatcher.PostElementMessage( MiniMapElementStateType.Destroy, effectId ); |
项目使用版本:Unity5.3.6 GitHub下载地址:
https://github.com/654306663/MiniMap
- 本文固定链接: http://www.u3d8.com/?p=1081
- 转载请注明: 网虫虫 在 u3d8.com 发表过
版本号写错了吧,下载打开后提示是Unity 5.3.0的版本。。。
可能是吧,,应该是兼容新版本的
赞,好东西~