zoukankan      html  css  js  c++  java
  • Unity 5.3 将物体转向鼠标所在位置

    一、需求描述:

    初始情况——

    目标需求:

    二、代码

     1     void Update () {
     2         // 获取鼠标位置相对移动向量
     3         Vector2 translation = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
     4         // 根据鼠标位置相对移动向量移动物体
     5         transform.Translate(translation * speed * Time.deltaTime);
     6         // 当鼠标左键按下时
     7         if (Input.GetMouseButton(0))
     8         {
     9             // 鼠标坐标默认是屏幕坐标,首先要转换到世界坐标
    10             // 物体坐标默认就是世界坐标
    11             // 两者取差得到方向向量
    12             Vector3 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
    13             // 方向向量转换为角度值
    14             float angle =360-Mathf.Atan2(direction.x, direction.y) * Mathf.Rad2Deg;
    15             // 将当前物体的角度设置为对应角度
    16             transform.eulerAngles = new Vector3(0, 0, angle);
    17         }
    18         
    19     }
  • 相关阅读:
    MySQL的操作
    Centos7下MySQL的安装
    一键安装Tomcat
    Hola!
    eval
    初级版笔记(修改中)
    decode前先encode(python)
    不能scanf字符串
    第一次做题的一些问题c++
    DSY3163*Eden的新背包问题
  • 原文地址:https://www.cnblogs.com/madtime-inside/p/5967650.html
Copyright © 2011-2022 走看看