12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 3231|回复: 12
打印 上一主题 下一主题

[红蓝3D] 【转】小地图代码的实现

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-7-26 07:54:51 |只看该作者 |倒序浏览

    public var blip : Texture; //代表角色
    public var blip_other : Texture;//敌人
    public var radarBG : Texture; //地图背景图片
    public var centerObject : Transform; //角色位置
    public var mapscale = 0.6; //地图缩放
    public var mapCenter = Vector2(50,50); //地图中心
    function OnGUI () {
        bX=centerObject.position.x * mapScale;
        bY=centerObject.position.z * mapScale;
        
        //bX=centerObject.transform.position.x * mapScale;
        //bY=centerObject.transform.position.z * mapScale;
        
        GUI.DrawTexture(Rect(mapCenter.x -50,mapCenter.y - 50,100,100),radarBG);
        GUI.DrawTexture(Rect(mapCenter.x,mapCenter.y,4,4),blip);
       DrawBlipsForEnemies();
    }
    function DrawBlipsForCows(){
      
        var gos : GameObject[];
        gos = GameObject.FindGameObjectsWithTag("Cow");
        var distance = Mathf.Infinity;
        var position = transform.position;
        for (var go : GameObject in gos)  {
            drawBlip(go,blip);
        }
    }
    function drawBlip(go,aTexture){
      
        centerPos=centerObject.position;
        extPos=go.transform.position;
      
        dist=Vector3.Distance(centerPos,extPos);
        
        dx=centerPos.x-extPos.x;
        dz=centerPos.z-extPos.z;
      
        deltay=Mathf.Atan2(dx,dz)*Mathf.Rad2Deg + 90 - centerObject.eulerAngles.y;
      
        bX=dist*Mathf.Cos(deltay * Mathf.Deg2Rad);
        bY=dist*Mathf.Sin(deltay * Mathf.Deg2Rad);
      
        bX=bX*mapScale*7;
        bY=bY*mapScale*7;
      
        if(dist<=20){  //20以内的敌人显示
           GUI.DrawTexture(Rect(mapCenter.x+bX,mapCenter.y+bY,4,4),aTexture);
        }
    }
    function DrawBlipsForEnemies(){
      
        var gos : GameObject[];
        gos = GameObject.FindGameObjectsWithTag("Enemy");
        var distance = Mathf.Infinity;
        var position = transform.position;
        for (var go : GameObject in gos)  {
        drawBlip(go,blip_other);
        }
    }
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

797

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
5568
精华
0

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

沙发
发表于 2011-8-2 21:26:31 |只看该作者
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

板凳
发表于 2011-8-20 11:12:27 |只看该作者
好啊!!
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

地板
发表于 2012-2-21 23:22:26 |只看该作者
长了不少见识
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

5#
发表于 2012-4-18 23:19:44 |只看该作者
很经典,很实用,学习了!
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

6#
发表于 2012-4-27 23:19:23 |只看该作者
我也来支持下
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

7#
发表于 2012-5-23 23:19:06 |只看该作者
呵呵,真得不错哦!!
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

8#
发表于 2012-7-3 23:19:40 |只看该作者
先垫一块,再说鸟
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

9#
发表于 2012-7-28 23:24:56 |只看该作者
不错不错,收藏了
回复

使用道具 举报

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

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

10#
发表于 2012-8-3 18:02:50 |只看该作者
我爱纳金网~www.narkii.com
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-2-2 05:47 , Processed in 0.078011 second(s), 29 queries .

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

© 2008-2019 Narkii Inc.

回顶部