Unity 鼠标旋转物体360展示
PC端
using UnityEngine;
using System.Collections; public class DragRound : MonoBehaviour { public Transform obj;
public float speed = ; private bool _mouseDown = false; void Update ()
{
if (Input.GetMouseButtonDown())
_mouseDown = true;
else if (Input.GetMouseButtonUp())
_mouseDown = false; if (_mouseDown)
{
float fMouseX = Input.GetAxis("Mouse X");
float fMouseY = Input.GetAxis("Mouse Y");
obj.Rotate(Vector3.up, -fMouseX * speed, Space.World);
obj.Rotate(Vector3.right, fMouseY * speed, Space.World);
}
}
}
移动端:
using UnityEngine;
using System.Collections; public class DragRoundPhone : MonoBehaviour { private Vector3 startFingerPos;
private Vector3 nowFingerPos;
private float xMoveDistance;
private float yMoveDistance;
private int backValue = ;
public GameObject obj;
void Update()
{
if (Input.touchCount <= )
{
return;
} if (Input.GetTouch().phase == TouchPhase.Began)
{
//Debug.Log("======开始触摸=====");
startFingerPos = Input.GetTouch().position;
} nowFingerPos = Input.GetTouch().position; if ((Input.GetTouch().phase == TouchPhase.Stationary) || (Input.GetTouch().phase == TouchPhase.Ended))
{
startFingerPos = nowFingerPos;
//Debug.Log("======释放触摸=====");
return;
}
// if (Input.GetTouch(0).phase == TouchPhase.Ended) {
//
// }
if (startFingerPos == nowFingerPos)
{
return;
}
xMoveDistance = Mathf.Abs(nowFingerPos.x - startFingerPos.x);
yMoveDistance = Mathf.Abs(nowFingerPos.y - startFingerPos.y); if (xMoveDistance > yMoveDistance)
{
if (nowFingerPos.x - startFingerPos.x > )
{
//Debug.Log("=======沿着X轴负方向移动=====");
backValue = -; //沿着X轴负方向移动
}
else
{
//Debug.Log("=======沿着X轴正方向移动=====");
backValue = ; //沿着X轴正方向移动
}
}
else
{
if (nowFingerPos.y - startFingerPos.y > )
{
//Debug.Log("=======沿着Y轴正方向移动=====");
backValue = ; //沿着Y轴正方向移动
}
else
{
//Debug.Log("=======沿着Y轴负方向移动=====");
backValue = -; //沿着Y轴负方向移动
} }
if (backValue == -)
{
obj.transform.Rotate(Vector3.up * - * Time.deltaTime * , Space.World);
}
else if (backValue == )
{
obj.transform.Rotate(Vector3.up * Time.deltaTime * , Space.World);
}
else if (backValue == )
{
obj.transform.Rotate(Vector3.right * Time.deltaTime * , Space.World);
}
else if (backValue == -)
{
obj.transform.Rotate(Vector3.right * - * Time.deltaTime * , Space.World);
} }
}
Unity 鼠标旋转物体360展示的更多相关文章
- unity鼠标拖动物体旋转
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> / ...
- 【three.js第三课】鼠标事件,移动、旋转物体
1.下载three.js的源码包后,文件夹结构如下: 2.在[three.js第一课]的代码基础上,引入OrbitControls.js文件,此文件主要用于 对鼠标的操作. 该文件位置:在文件结构中 ...
- 关于Unity中鼠标选取物体的解决方案
今天修改了之前写的飞机大战的代码,原来的不足之处是点击屏幕的任意一点都可以移动飞机,也就是没有检测鼠标到底有没有点到飞机上. 我先是用之前的3D拾取技术,发现没有反应,才意识到我这个plane飞机节点 ...
- unity的旋转
绕着一个点旋转 : transform.RotateAround(Vector3.zero, Vector3.up, speed* Time.deltaTime ); 第一个参数,点的位置.第二个参数 ...
- 通过CSS3实现:鼠标悬停图片360度旋转效果
效果很好玩,代码很简单: 效果: 鼠标放置在图片上:360度顺时针旋转 鼠标离开图片:图片260度逆时针旋转 只要将下面代码拷贝过去,并将图片改成你想要的就可以看到效果 <!doctype ht ...
- Unity 3d 实现物体跟随摄像机视野运动
https://blog.csdn.net/qq_31411825/article/details/61623857 Unity 3d 实现物体跟随摄像机视野运动Created by miccall ...
- Unity 鼠标控制视角功能和动画播放冲突解决办法
环境是 unity 5.6.4 情况说明: 1 模型动画单独播放是没问题的. 2 鼠标控制模型是没问题的. 3 在start中播放模型动画,即使鼠标控制视角代码还挂载着,但是模型却无法用鼠标旋转等操作 ...
- 鼠标划过用户名时在鼠标右下角显示div展示用户资料
最近做一个网站论坛,为了方便会员之间相互了解,又不想再做一个页面展示用户资料,就想到了鼠标划过用户名时在鼠标右下角显示div展示用户资料这个效果, 这里要注意的该方法不是给每个用户名的旁边都绑定一个d ...
- canvas实现跟随鼠标旋转的箭头
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...
随机推荐
- Eclipse的Errors in required projec(s)问题
在Eclipse中运行代码时出现Errors exist in required project(s)弹窗提示,但是当前类并无错误,点击Proceed当前类仍然可以运行 错误展示: Errors ex ...
- 关于 RMAN 控制文件自动备份路径中指定的 %F 说明
默认情况下,RMAN备份的属性配置一共 14 行( show all; )来自博客园AskScuti CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVIC ...
- Electron – 基础学习(1): 环境安装、创建项目及入门
这几天到年底了,公司也没啥事,闲着就到处瞅瞅.记得上一家公司的时候用 Electron+ng1 写过项目,只是那个时候项目框架都是别人搭的,自己只负责写功能,对Electron没啥认识. 这几天想着反 ...
- JUC-JUC是什么?
一.JUC是什么? java.util.concurrent在并发编程中使用的工具类 进程/线程回顾 1.进程/线程是什么? 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是 ...
- Java流,文件和I/O
java.io包中包含几乎所有可能永远需要在Java中执行输入和输出(I/ O)类.所有这些数据流代表一个输入源和输出目标. java.io包中的流支持多种数据,如基本类型,对象,本地化的字符等 流可 ...
- Paper: A novel method for forecasting time series based on fuzzy logic and visibility graph
Problem Forecasting time series. Other methods' drawback: even though existing methods (exponential ...
- HDU1024 Max Sum Plus Plus(dp)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 #include<iostream> #include<vector> #i ...
- codeforces 1284C. New Year and Permutation(组合数学)
链接:https://codeforces.com/problemset/problem/1284/C 题意:定义一个framed segment,在区间[l,r]中,max值-min值 = r - ...
- Python - isinstance()更深刻的理解
起因经过 今天翻collections.abc的文档时,我知道list的实例在逻辑上(因为duck typing 鸭子类型)是Container和不能hash的(因为list可变),就试下面的代码是否 ...
- scw——02错误initializationError(Runner:JUnit 4)
代码: 错误: 原因:版本不同,自动生成的代码不同 解决: