首页 > 其他分享 >unity 2D 物体跟随鼠标旋转 移动

unity 2D 物体跟随鼠标旋转 移动

时间:2023-01-17 10:24:33浏览次数:65  
标签:direction 鼠标 物体 Vector3 2D unity 坐标 void

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FollowMouse:MonoBehaviour {

    // Use this for initialization
    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.GetMouseButton(0))    //如果按下鼠标左键,移动速度变快
        {
            moveSpeed = 6.0f;
            transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);
        } else {
            transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);
        }
    }
}

 

 转载:(19条消息) Unity2D简单实现物体跟随鼠标移动并旋转_雨牧_的博客-CSDN博客_unity 物体跟随鼠标旋转

标签:direction,鼠标,物体,Vector3,2D,unity,坐标,void
From: https://www.cnblogs.com/zqiang0803/p/17057104.html

相关文章

  • 13.Selenium【鼠标和键盘操作】模拟鼠标操作页面元素(了解)
    一、前言actionchains是selenium里面专门处理鼠标和键盘相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互。这对于做更复杂的动作非常有用,比如悬停和拖放。......
  • 安装完Git鼠标右键不显示或者打不开Git Bash Here和Git GUI Here的问题
    问题:安装完Git后,右键(WIN11中右键后还需要点击->显示更多选项)发现缺少/打不开GitBashHere和GitGUIHere,或是其中之一。解决:①win+r打开运行,输入:regedit②按图片......
  • 6 shadergraph 实现2d植物摆动
    https://blog.csdn.net/kill566666/article/details/110264803?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167385463616800225583774%2522%252C%2522scm%2......
  • Unity URP Shader之眼睛渲染
    一,关于其理论知识的资料,参考如下:Next-GenerationCharacterRenderingPhotorealisticCharacterDigitalHumans剖析UnrealEngine超真实人类的渲染技术Part2-眼球渲......
  • 鼠标右键刷新桌面很慢,其他正常的处理
     001、问题: 鼠标右键刷新桌面很慢怎么办,其他正常 002、win+r:弹出如下界面:  003、输入:regedit,然后点击确定  004、弹出注册表编辑器的对话框,点击是......
  • Havoc C2d的初次使用
    HavocC2简介Havoc是一款现代化的、可扩展的后渗透命令控制框架当前的Havoc版本还处于早期开发版,随着框架的不断成熟,可能会对Havoc的API和核心结构进行大量更改以下......
  • 获取鼠标指针在ListBox中的行位置
    Listbox控件没有提供这个属性值可以调用,这里我写了个完整的演示程序,供大家参考.新建一个工程,在Form1窗体上加上一个ListBox和一个Label.在窗体代码中粘贴以下程序,然后运行即可......
  • unity粒子系统——粒子光环
    由于粒子系统调整各种属性时较为繁杂,所以这次我选择了用代码来控制粒子的方式。首先创建一个空对象,添加particleSystem组件,然后新建脚本文件ParticleHalo并将其拖到空对......
  • 博客园下拉小猫,看板娘,鼠标图标特效
    博客园下拉小猫特效样式效果点击小猫之后会回到网页顶部  使用方法1.在自己的博客园中找到管理->设置页面2.在页首HTML代码中插入<!--悬挂的喵--><script......
  • UnityShader透明效果
    透明效果在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道。当开启透明混合后,当一个物体被渲染到屏幕上时,每个片元除了颜色和深度值之外,它还有另一个属性......