unity小地图代码

创建一个c#脚本,挂在摄像机上,然后将变量拖入对应位置即可,可以实现小地图的拖动功能


using UnityEngine;

using System.Collections;


public class mymap : MonoBehaviour {


// Use this for initialization
 public Texture map  ;
 public Texture playerTexture ;

float cubePosX=0 ;
float cubePosY=0 ;
public  GameObject player  ;
public GameObject plane;
float planeWidth;

public Rect windowRect = new Rect(0,0,100,100);
void Start()
{


    planeWidth=plane.GetComponent<MeshFilter>().mesh.bounds.size.x*plane.transform.localScale.x;
}


void OnGUI ()
{    
    windowRect = GUI.Window(0,windowRect,draw,"");
    
}


void Update()
{
    cubePosX =map.width*player.transform.position.x/planeWidth+map.width/2;//根据palyer在plane的比例关系,映射到对应地图位置。
    cubePosY =map.height*player.transform.position.z/planeWidth+map.height/2;

if(Input.GetMouseButton(0))
{

}
}
void draw(int windowID)
{
GUI.DrawTexture(new Rect(0,0,map.width/2,map.height/2),map);
         GUI.DrawTexture(new Rect(cubePosX,cubePosY,15,15),playerTexture);
GUI.DragWindow();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值