制作一个王者荣耀的小地图

发表于2017-09-30
评论0 6.2k浏览

今天我们用观察者模式 制作一个模仿王者荣耀的小地图功能

 

小地图包含功能:

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


如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: