zoukankan      html  css  js  c++  java
  • 物体跟随鼠标旋转

    转载:https://www.taikr.com/article/3926

    void Start()
        {
     
        }
     
        // Update is called once per frame
        void Update()
        {
            FollowMouseRotate();
            FollowMouseMove();
        }
     
        //物体跟随鼠标旋转
        private void FollowMouseRotate()
        {
            //获取鼠标的坐标,鼠标是屏幕坐标,Z轴为0,这里不做转换  
            Vector3 mouse = Input.mousePosition;
            //获取物体坐标,物体坐标是世界坐标,将其转换成屏幕坐标,和鼠标一直  
            Vector3 obj = Camera.main.WorldToScreenPoint(transform.position);
            //屏幕坐标向量相减,得到指向鼠标点的目标向量,即黄色线段  
            Vector3 direction = mouse - obj;
            //将Z轴置0,保持在2D平面内  
            direction.z = 0f;
            //将目标向量长度变成1,即单位向量,这里的目的是只使用向量的方向,不需要长度,所以变成1  
            direction = direction.normalized;
            //物体自身的Y轴和目标向量保持一直,这个过程XY轴都会变化数值  
            transform.up = direction;
        }
     
        //跟随鼠标移动
        private void FollowMouseMove()
        {
            float moveSpeed = 3.0f;
            if (Input.GetTouch(0).phase == TouchPhase.Moved)    //如果按下鼠标左键,移动速度变快
            {
                moveSpeed = 6.0f;
                transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);
            }
            else
            {
                transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);
            }
        }
  • 相关阅读:
    如何测试一个网页登陆界面
    吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
    postman接口案例
    接口定义
    socket网络编程
    分页读取文件内容
    hashlib,configparser,logging,模块
    python面向对象编程
    常用模块
    迭代器和生成器
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/14076671.html
Copyright © 2011-2022 走看看