读书人

小map

发布时间: 2012-08-27 21:21:57 作者: rapoo

小地图

@script ExecuteInEditMode()public var blip : Texture; //定一指文件代表角色public var radarBG : Texture; //地背景片,我直接用景里我建的render texturepublic var centerObject : Transform; //角色的物的位置信息public var mapScale = 0.3; //地放public var mapCenter = Vector2(50,50); //地中心function OnGUI () {       bX=centerObject.transform.position.x * mapScale;    bY=centerObject.transform.position.z * mapScale;           bX=centerObject.transform.position.x * mapScale;    bY=centerObject.transform.position.z * mapScale;           GUI.DrawTexture(Rect(mapCenter.x-32,mapCenter.y-32,64,64),radarBG);   // 上面的mapCenter.x-32是地的x位置,mapCenter.y-32是y位置,64,64是地的大小    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 - 270 - centerObject.eulerAngles.y;       bX=dist*Mathf.Cos(deltay * Mathf.Deg2Rad);    bY=dist*Mathf.Sin(deltay * Mathf.Deg2Rad);       bX=bX*mapScale;     bY=bY*mapScale;        if(dist<=200){       GUI.DrawTexture(Rect(mapCenter.x+bX,mapCenter.y+bY,2,2),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);    }}

?

读书人网 >互联网

热点推荐