欢迎来到天天文库
浏览记录
ID:15664108
大小:130.40 KB
页数:4页
时间:2018-08-04
《unity3d技术之制作rpg地图2(自己控制地图上图标)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、上一次用Unity摄像机方式实现了地图的制作,现在介绍另一种实现地图的方式:自己通过代码实现小地图NCP图标的显示和隐藏制作地图的步骤: 1.根据游戏人物的3D坐标转换成2D平【狗刨学习网】面坐标,根据距离显示和隐藏游戏的坐标 2.怪物实时判断与玩家的距离,小于到移动范围,就在小地图上创建Icon的显示 注意事项:1.人物移动前进和后退是(x,z)轴,我们从游戏界面看到的图标是(x,y)轴 代码:小地图类:usingUnityEngine;usingSystem.Collections;///
2、///小地图///publicclassMinMap:MonoBehaviour{publicstaticMinMap_instance;publicGameObjecticonPrefab;//小图标预设,根据不同的名字显示不同的图标voidAwake(){_instance=this;}//////在小地图添加图标/////////publicGameObjectAddIcon(
3、stringiconName){GameObjectgo=NGUITools.AddChild(this.gameObject,iconPrefab);go.GetComponent().spriteName=iconName;returngo;}} Icon类:(在小地图上添加图标,交给怪物和NCP自身)usingUnityEngine;usingSystem.Collections;publicclassMinMapItems:MonoBehaviour{publicstringiconName;privateG
4、ameObjectminimapIconGO;privateTransformminmapTrans;privateTransformplayerTrans;publicfloatmagnitudeX=8;publicfloatmagnitudeZ=7.5f;voidStart(){minimapIconGO=MinMap._instance.AddIcon(iconName);//将怪物图标初始化到小地图显示minmapTrans=minimapIconGO.transform;//怪物的小图标playerTrans=GameObje
5、ct.FindGameObjectWithTag("Player").transform;//获取主角transfrom}voidFixedUpdate(){Vector3offset=transform.position-playerTrans.position;minmapTrans.localPosition=newVector3(offset.x,offset.z,0)*8;//localPosition和position的区别//怪物超过一定范围,显示和隐藏地图图标if(Mathf.Abs(offset.x)>=magnitu
6、deX
7、
8、Mathf.Abs(offset.z)>=magnitudeZ){minimapIconGO.SetActive(false);}else{minimapIconGO.SetActive(true);}//Debug.Log(offset.z);}voidOnDestroy(){Destroy(this.minimapIconGO);}} 源
此文档下载收益归作者所有