zoukankan      html  css  js  c++  java
  • 鼠标控制物体移动

    1.物体移动到鼠标点击处

    2.物体跟随鼠标移动

    分为三步:获取鼠标位置、转化为世界坐标、物体移动

    private Vector3 mopos; 

    private Vector3 gamepos;

    void Start(){

    //物体的世界坐标转化成屏幕坐标

    //gamepos = Camera.main.WorldToScreenPoint (transform.position);

    gamepos = transform.position;

    }

    void Update () {

    //物体移动到鼠标点击处

    if (Input.GetMouseButtonDown (0)) {

    mopos = Input.mousePosition;//获取鼠标位置

    //转化物体世界z坐标为屏幕坐标并赋值给鼠标z坐标

    mopos.z=Camera.main.WorldToScreenPoint( transform.position).z;

    //将需要的鼠标坐标转化成世界坐标

    gamepos.x=Camera.main.ScreenToWorldPoint(mopos).x;

    gamepos.z=Camera.main.ScreenToWorldPoint(mopos).z;

    gamepos.y=transform.position.y;

    }

    //让物体移动到坐标处

    transform.position = Vector3.Lerp (gameObject.transform.position,gamepos,Time.deltaTime*5f);

    //朝向某处

    //transform.LookAt (gamepos);

    }

    Ps:一个小例子,准星在屏幕中跟随鼠标移动

    void Updata(){ 

    mopos = Input.mousePosition;//获取鼠标位置

    //调整位置比例

    mopos.x /= 823.0f;

    mopos.y /= 600.0f;

    //移动

    transform.position = Vector3.Lerp (gameObject.transform.position,mopos,Time.deltaTime*30f);

    }

    //物体朝向鼠标方向旋转

    //获取鼠标增量 

    float h =  Input.GetAxis("Mouse X");

    float v = Input.GetAxis("Mouse Y");

    //旋转

    transform.Rotate(v, h, 0);

  • 相关阅读:
    IOS开发C语言入门如何结合Terminal和Vim开发C语言程序
    如何开发原生的 JavaScript 插件(知识点+写法)
    IOS开发数据持久化篇之文件存储(一)
    PC 端微信扫码注册和登录
    2020最全面的微服务
    RabbitMQ详解
    MongoDB基础篇&集群篇
    从原理上理解MySQL的优化建议
    分布式日志搜集ELK
    MySQL高级篇性能优化
  • 原文地址:https://www.cnblogs.com/C-9925/p/7349661.html
Copyright © 2011-2022 走看看