unity 鼠标拖拽物体旋转,滚轮放大缩小(一)
2018-01-09 16:35
1341 查看
这个程序有时候会在物体旋转的时候卡住,不推荐用:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
public GameObject chaiYouJi;
private float axisX = 1;//鼠标沿水平方向移动的增量
private float axisY = 1;//鼠标沿竖直方向移动的增量
//物体移动
private void OnMouseDown()
{
//接受鼠标按下的事件
axisX = 0f;
axisY = 0f;
}
private void OnMouseDrag()
{
//获得鼠标增量
axisX = -Input.GetAxis("Mouse X");
axisY = Input.GetAxis("Mouse Y");
this.transform.Rotate(new Vector3(axisY, axisX, 0), Space.World);
}
void Update()
{
//物体缩放
if(Input .GetAxis("Mouse ScrollWheel")>0)
{
float localSacleX = chaiYouJi.transform.localScale.x + 0.2f;
float localSacleY = chaiYouJi.transform.localScale.y + 0.2f;
float localSacleZ = chaiYouJi.transform.localScale.z + 0.2f;
chaiYouJi.transform.localScale = new Vector3(localSacleX, localSacleY, localSacleZ);
if (localSacleX >= 10f)
{
chaiYouJi.transform.localScale = new Vector3(10f, 10f, 10f);
}
}
if(Input .GetAxis("Mouse ScrollWheel")<0)
{
float localSacleX = chaiYouJi.transform.localScale.x - 0.2f;
float localSacleY = chaiYouJi.transform.localScale.y - 0.2f;
float localSacleZ = chaiYouJi.transform.localScale.z - 0.2f;
chaiYouJi.transform.localScale = new Vector3(localSacleX, localSacleY, localSacleZ);
if (localSacleX <= 5f)
{
chaiYouJi.transform.localScale = new Vector3(5f, 5f, 5f);
}
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
public GameObject chaiYouJi;
private float axisX = 1;//鼠标沿水平方向移动的增量
private float axisY = 1;//鼠标沿竖直方向移动的增量
//物体移动
private void OnMouseDown()
{
//接受鼠标按下的事件
axisX = 0f;
axisY = 0f;
}
private void OnMouseDrag()
{
//获得鼠标增量
axisX = -Input.GetAxis("Mouse X");
axisY = Input.GetAxis("Mouse Y");
this.transform.Rotate(new Vector3(axisY, axisX, 0), Space.World);
}
void Update()
{
//物体缩放
if(Input .GetAxis("Mouse ScrollWheel")>0)
{
float localSacleX = chaiYouJi.transform.localScale.x + 0.2f;
float localSacleY = chaiYouJi.transform.localScale.y + 0.2f;
float localSacleZ = chaiYouJi.transform.localScale.z + 0.2f;
chaiYouJi.transform.localScale = new Vector3(localSacleX, localSacleY, localSacleZ);
if (localSacleX >= 10f)
{
chaiYouJi.transform.localScale = new Vector3(10f, 10f, 10f);
}
}
if(Input .GetAxis("Mouse ScrollWheel")<0)
{
float localSacleX = chaiYouJi.transform.localScale.x - 0.2f;
float localSacleY = chaiYouJi.transform.localScale.y - 0.2f;
float localSacleZ = chaiYouJi.transform.localScale.z - 0.2f;
chaiYouJi.transform.localScale = new Vector3(localSacleX, localSacleY, localSacleZ);
if (localSacleX <= 5f)
{
chaiYouJi.transform.localScale = new Vector3(5f, 5f, 5f);
}
}
}
}
相关文章推荐
- ExtJs 完美实现图片在Window窗口中通过鼠标滚轮放大缩小以及点击拖拽
- <Unity>鼠标拖动物体、按下鼠标左键旋转观察物体、鼠标滚轮缩放视野
- Unity开发Android程序,拖拽放大缩小物体
- unity 实现了鼠标滚动放大和缩小物体暨拉近拉远相机的效果
- unity中通过收拾实现物体旋转和放大缩小
- 【狼】unity 鼠标拖拽物体实现任意角度自旋转
- jQuery仿QQ空间图片查看特效(全屏,放大,缩小,旋转,镜像,鼠标滚轮缩放)
- <Unity>鼠标拖动物体、按下鼠标左键旋转观察物体、鼠标滚轮缩放视野
- unity 鼠标拖拽物体实现任意角度自旋转
- Unity 3D鼠标操作实现旋转、缩放观察物体
- Unity中用触摸控制物体旋转和放大
- Unity中用触摸控制物体旋转和放大
- 【Unity3D自学记录】Unity3D游戏开发之鼠标滚轮实现放大缩小
- Unity鼠标拖拽物体
- JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效
- [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小
- Unity鼠标自由查看3D物体之直接旋转物体
- Unity 拖动鼠标物体旋转
- 鼠标滚轮实现放大缩小
- Unity3D 通过鼠标滚轮来放大或缩小视角的大小