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 物体跟随鼠标旋转

最新文章

  1. CodeForces 485C Bits[贪心 二进制]
  2. JavaAnnotation和反射简化开发
  3. c++ std::string.c_str()
  4. Java递归搜索指定文件夹下的匹配文件
  5. Mybatis Interceptor 拦截器原理 源码分析
  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.5.安装Grid,创建ASM磁盘组空间不足
  7. orcale 修改字段属性
  8. String inputStream file转化
  9. [NOIP2009] 靶形数独 骚气的大爆搜
  10. WeChat 隐私政策
  11. .NetCore下利用Jenkins如何将程序自动打包发布到Docker容器中运行
  12. 三、spring boot 1.5.4 web容器定制(端口号等修改)
  13. python编程之禅
  14. 点分治&&动态点分治学习笔记
  15. HDU4745——Two Rabbits——2013 ACM/ICPC Asia Regional Hangzhou Online
  16. Asakura的魔法世界
  17. CentOS6.6安装heartbeat配置资源切换操作笔记实现高可用(原创)
  18. 构造函数、析构函数、赋值与初始化、explicit关键字
  19. Realm的常规使用与线程中的坑
  20. angular.module方法

热门文章

  1. LeetCode-1001 网格照明
  2. js获取input处理
  3. TCP怎样保证可靠传输
  4. 编程基础与python介绍
  5. DevExpress GridControl 在窗体默认皮肤下 设置其他皮肤
  6. 解决点击el-dialog对话框,body抖动问题
  7. 网络储存服务ip-san搭建
  8. [后端-Flask总结]-flask学习总结
  9. 关于el-popover的箭头颜色
  10. yum源更换为阿里云源