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