纳金网

标题: 悬浮小地图代码 [打印本页]

作者: 狂风大尉    时间: 2014-8-31 01:16
标题: 悬浮小地图代码

  1. @script ExecuteInEditMode()

  2. public var blip : Texture; //定?一?指?文件代表角色

  3. public var radarBG : Texture; //地?背景?片,我直接用?景里我?建的render texture

  4. public var centerObject : Transform; //??角色的物?的位置信息

  5. public var ma[url=http://www.narkii.com/club/forum-71-1.html]ps[/url]cale = 0.3; //地??放

  6. public var mapCenter = Vector2(50,50); //地?中心

  7. function OnGUI () {

  8.    

  9.     bX=centerObject.transform.position.x * mapScale;

  10.     bY=centerObject.transform.position.z * mapScale;

  11.       

  12.     bX=centerObject.transform.position.x * mapScale;

  13.     bY=centerObject.transform.position.z * mapScale;

  14.       

  15.     GUI.DrawTexture(Rect(mapCenter.x-32,mapCenter.y-32,64,64),radarBG);

  16.    // 上面的mapCenter.x-32是地?的x位置,mapCenter.y-32是y位置,64,64是地?的大小

  17.     DrawBlipsForEnemies();

  18. }

  19. function DrawBlipsForCows(){

  20.    

  21.     var gos : GameObject[];

  22.     gos = GameObject.FindGameObjectsWithTag("Cow");

  23.     var distance = Mathf.Infinity;

  24.     var position = transform.position;

  25.     for (var go : GameObject in gos)  {

  26.         drawBlip(go,blip);

  27.     }

  28. }

  29. function drawBlip(go,aTexture){

  30.    

  31.     centerPos=centerObject.position;

  32.     extPos=go.transform.position;

  33.    

  34.     dist=Vector3.Distance(centerPos,extPos);

  35.    

  36.     dx=centerPos.x-extPos.x;

  37.     dz=centerPos.z-extPos.z;

  38.    

  39.     deltay=Mathf.Atan2(dx,dz)*Mathf.Rad2Deg - 270 - centerObject.eulerAngles.y;

  40.    

  41.     bX=dist*Mathf.Cos(deltay * Mathf.Deg2Rad);

  42.     bY=dist*Mathf.Sin(deltay * Mathf.Deg2Rad);

  43.     bX=bX*mapScale;

  44.     bY=bY*mapScale;

  45.    

  46.     if(dist<=200){

  47.        GUI.DrawTexture(Rect(mapCenter.x+bX,mapCenter.y+bY,2,2),aTexture);

  48.     }

  49. }

  50. function DrawBlipsForEnemies(){

  51.    

  52.     var gos : GameObject[];

  53.     gos = GameObject.FindGameObjectsWithTag("Enemy");

  54.     var distance = Mathf.Infinity;

  55.     var position = transform.position;

  56.     for (var go : GameObject in gos)  {

  57.     drawBlip(go,blip);

  58.     }

  59. }
复制代码

作者: hyui    时间: 2014-8-31 02:22
Thanks for sharing !
作者: LeiFanMr_1998    时间: 2017-4-28 23:00
感谢楼主的分享





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5