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
- unity3D用滑鼠和射線控制物體移動Unity3D
- Unity 拖動UIUnityUI
- Unity正交相機智慧包圍物體(組)方案Unity
- 軟體工程之動物世界軟體工程
- OPCV 移動物體檢測
- Unity3D 透明物體ShaderUnity3D
- C#實現窗體拖動、不允許窗體拖動、任意控制元件執行時拖動C#控制元件
- SCRDet——對小物體和旋轉物體更具魯棒性的模型模型
- 基於Keras的動物檢測Keras
- 根據手機還是電腦上網自動判斷跳轉程式碼
- 根據UA簡單判斷訪客客戶端是手機移動端還是電腦PC端客戶端
- 提升購物體驗的4個移動化策略
- 根據需要動態include不同的檔案 (轉)
- C#根據經緯度獲取實體地址C#
- vue實現根據多選框按鈕,動態給百度地圖新增和刪除相應的覆蓋物Vue地圖
- 原生JavaScript運動功能系列(四):多物體多值鏈式運動JavaScript
- 關於HTTP和HTTPS相互轉換的問題--解決根據過濾器自動切換功能--可用HTTP過濾器
- jquery外掛實現圖片可拖動的購物車程式碼jQuery
- 360奇酷手機自動旋轉螢幕怎麼關閉 360奇酷手機自動旋轉螢幕關閉教程
- css浮動元素寬度根據內容自適應CSS
- java使用jaxb解析XML(含根據xml自動生成實體類)JavaXML
- 你是視覺動物 or 嗅覺動物?——資訊圖視覺
- 物體識別互動系統的特點及優勢
- 根據身高計算體重
- Shell 指令碼 ,, 根據程式號退出 從而關機指令碼
- js滑鼠拖動立方體3D運動效果JS3D
- 搭物聯網版Win10 松下FZ-F1手機展示Win10
- 人機互動新體驗,全新AR介面讓你輕鬆控制畫中物
- 通過拖動將商品新增到購物車效果程式碼例項
- MIT的「伽利略」系統預測物體移動的能力接近人類MIT
- flutter系列之:移動端手勢的具體使用Flutter
- 移動端html展示word文件轉換方法HTML
- 在遊戲中設計動物是怎樣一種體驗?遊戲