Unity 物體根據手指拖動而轉動(可用於物體的360度展示)(手機端)
private Vector3 startFingerPos;
private Vector3 nowFingerPos;
private float xMoveDistance;
private float yMoveDistance;
private int backValue = 0;
public GameObject obj;
void Update()
{
if (Input.touchCount <= 0)
{
return;
}
if (Input.GetTouch(0).phase == TouchPhase.Began)
{
//Debug.Log("======開始觸控=====");
startFingerPos = Input.GetTouch(0).position;
}
nowFingerPos = Input.GetTouch(0).position;
if ((Input.GetTouch(0).phase == TouchPhase.Stationary) || (Input.GetTouch(0).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 > 0)
{
//Debug.Log("=======沿著X軸負方向移動=====");
backValue = -1; //沿著X軸負方向移動
}
else
{
//Debug.Log("=======沿著X軸正方向移動=====");
backValue = 1; //沿著X軸正方向移動
}
}
else
{
if (nowFingerPos.y - startFingerPos.y > 0)
{
//Debug.Log("=======沿著Y軸正方向移動=====");
backValue = 2; //沿著Y軸正方向移動
}
else
{
//Debug.Log("=======沿著Y軸負方向移動=====");
backValue = -2; //沿著Y軸負方向移動
}
}
if (backValue == -1)
{
obj.transform.Rotate(Vector3.up * -1 * Time.deltaTime * 50, Space.World);
}
else if (backValue == 1)
{
obj.transform.Rotate(Vector3.up * Time.deltaTime * 50, Space.World);
}
else if (backValue == 2)
{
obj.transform.Rotate(Vector3.right * Time.deltaTime * 50, Space.World);
}
else if (backValue == -2)
{
obj.transform.Rotate(Vector3.right * -1 * Time.deltaTime * 50, Space.World);
}
}
PC端滑鼠拖動而轉動參考連結:http://blog.csdn.net/liujunjie612/article/details/54136337
相關文章
- js 根據滑鼠拖動(或手機長按)旋轉JS
- 讓物體動起來,Unity的幾種移動方式Unity
- Unity更改物體的materialUnity
- Unity使用指令碼給已有物體建立子物體Unity指令碼
- javascript 多物體運動JavaScript
- 【Unity】(2D)物體拖拽Unity
- unity3D用滑鼠和射線控制物體移動Unity3D
- Unity正交相機智慧包圍物體(組)方案Unity
- Nginx根據PC端和手機端跳轉不同的路徑Nginx
- Unity 拖動UIUnityUI
- 軟體工程之動物世界軟體工程
- OPCV 移動物體檢測
- Unity中,實現物體的2D頂牌始終位於物體包圍盒中間下方邊緣,並自動計算頂牌中心點,避免頂牌遮擋物體Unity
- unity3d縮放物體Unity3D
- Unity3D 透明物體ShaderUnity3D
- SCRDet——對小物體和旋轉物體更具魯棒性的模型模型
- C#實現窗體拖動、不允許窗體拖動、任意控制元件執行時拖動C#控制元件
- 基於Keras的動物檢測Keras
- 按住panel 拖動窗體的方法
- 根據手機還是電腦上網自動判斷跳轉程式碼
- 提升購物體驗的4個移動化策略
- 根據UA簡單判斷訪客客戶端是手機移動端還是電腦PC端客戶端
- 根據需要動態include不同的檔案 (轉)
- 無脊椎動物靠什麼支撐起身體?
- C#根據經緯度獲取實體地址C#
- vue實現根據多選框按鈕,動態給百度地圖新增和刪除相應的覆蓋物Vue地圖
- 原生JavaScript運動功能系列(四):多物體多值鏈式運動JavaScript
- 關於HTTP和HTTPS相互轉換的問題--解決根據過濾器自動切換功能--可用HTTP過濾器
- jquery外掛實現圖片可拖動的購物車程式碼jQuery
- 360奇酷手機自動旋轉螢幕怎麼關閉 360奇酷手機自動旋轉螢幕關閉教程
- 你是視覺動物 or 嗅覺動物?——資訊圖視覺
- 微博根據手機號查詢
- 物體識別互動系統的特點及優勢
- java使用jaxb解析XML(含根據xml自動生成實體類)JavaXML
- css浮動元素寬度根據內容自適應CSS
- 根據身高計算體重
- Shell 指令碼 ,, 根據程式號退出 從而關機指令碼
- js滑鼠拖動立方體3D運動效果JS3D