小屏幕控制 (类似lol小地图)

 public GameObject mainCamera;
    public Camera camera1;
    public GameObject dragon;
    private NavMeshAgent agent;


    public GameObject flower;//方便查看制作一个点击效果
    // Use this for initialization
    void Start () {
        agent = dragon.GetComponent<NavMeshAgent>();
    }

    // Update is called once per frame
    void Update () {
        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {
            if (Camera.main.fieldOfView <= 70)
                Camera.main.fieldOfView += 2;
            if (Camera.main.orthographicSize <= 20)
                Camera.main.orthographicSize += 0.5F;
        }
        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            if (Camera.main.fieldOfView > 2)
                Camera.main.fieldOfView -= 2;
            if (Camera.main.orthographicSize >= 1)
                Camera.main.orthographicSize -= 0.5F;
        }
        //Vector3 v = Camera.current.ScreenToWorldPoint(Input.mousePosition);


        //    Debug.Log(v);


        // Camera.SetupCurrent(camera);
        //Vector3 v = camera1.WorldToScreenPoint(mainCamera.transform.position);


        if (Input.GetKey(KeyCode.Space))
        {
            mainCamera.transform.position = new Vector3(dragon.transform.position.x-1.5f, dragon.transform.position.y + 14.92673f, dragon.transform.position.z-9);
        }






        Vector3 v1 = camera1.ScreenToViewportPoint(Input.mousePosition);




        if ((v1.x >= 0.1f && v1.x <= 0.95f) && (v1.y >= 0.1f && v1.y <= 0.87f)) 
        {
            if (Input.GetMouseButtonDown(1))
            {
                Vector3 v2 = camera1.ViewportToWorldPoint(v1);
                dragon.transform.LookAt(new Vector3(v2.x, dragon.transform.position.y, v2.z));
                agent.SetDestination(new Vector3(v2.x, dragon.transform.position.y, v2.z));


            }
            if (Input.GetMouseButtonDown(0))
            {
                Vector3 v2 = camera1.ViewportToWorldPoint(v1);
                mainCamera.transform.position = new Vector3(v2.x, mainCamera.transform.position.y, v2.z-10);
            }
            else if (Input.GetMouseButton(0))
            {
                Vector3 v2 = camera1.ViewportToWorldPoint(v1);
                mainCamera.transform.position = new Vector3(v2.x, mainCamera.transform.position.y, v2.z-10);
            }
        }
        else
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                if (Input.GetMouseButtonDown(1))
                {
                    GameObject flowers = Instantiate(flower, new Vector3(hit.point.x, agent.transform.position.y, hit.point.z), flower.transform.rotation) as GameObject;
                    Destroy(flowers, 0.6f);
                    agent.SetDestination(new Vector3(hit.point.x, agent.transform.position.y, hit.point.z));
                }
            }
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值