查看: 1195|回复: 2
打印 上一主题 下一主题

[其他] 悬浮小地图代码

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-8-31 01:16:45 |只看该作者 |倒序浏览

  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. }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-8-31 02:22:13 |只看该作者
Thanks for sharing !
回复

使用道具 举报

0

主题

1

听众

124

积分

设计实习生

Rank: 2

纳金币
8
精华
0
板凳
发表于 2017-4-28 23:00:13 |只看该作者
感谢楼主的分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-14 17:24 , Processed in 0.084171 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部