zoukankan      html  css  js  c++  java
  • 屏幕内跟随鼠标移动(鼠标点击一个位置,物体移动到该位置)

    Vector3 world;//物体要移动到的位置 (世界坐标系)     
    float moveSpeed = 0;//物体移动速度 
    void Update()
    {
    //将物体的世界坐标转换为屏幕坐标        
    Vector3 targetposition = Camera.main.WorldToScreenPoint(this.transform.position);
    //鼠标在屏幕上的位置坐标 
    Vector3 mouseposition = Input.mousePosition;
    if (Input.GetMouseButton(0))
    {
    mouseposition.z = targetposition.z;
    //world=Camera.main.ScreenToWorldPoint(mouseposition);
    //这种情况下 会有穿透现象
    world.x = Camera.main.ScreenToWorldPoint(mouseposition).x;
    world.z = Camera.main.ScreenToWorldPoint(mouseposition).z;
    world.y = this.transform.position.y;
    moveSpeed = 3;
    }
    if (this.transform.position == world)
    {
    //如果物体移动到了鼠标指定的位置 将移动速度设为0 
    moveSpeed = 0;
    }
    this.transform.LookAt(world);//物体朝向鼠标对应的位置 (此时的位置为世界坐标系) 
    this.transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
    }

  • 相关阅读:
    C++线程池实现-代码分析
    TortoiseGit如何更换用户名和密码
    go 访问apollo配置
    go 操作redis遇到的坑
    java类加载过程
    了解Python
    Java线程
    百度搜索引擎和谷歌搜索引擎的区别
    设置swiper容器同时显示的slide数量
    CSS last-child不起作用
  • 原文地址:https://www.cnblogs.com/Study088/p/7298704.html
Copyright © 2011-2022 走看看