兼容PC和手机触摸代码
生活随笔
收集整理的這篇文章主要介紹了
兼容PC和手机触摸代码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
測試環(huán)境:unity3d 4.6.1
1 using UnityEngine; 2 using System.Collections; 3 4 public class neccc : MonoBehaviour 5 { 6 7 8 public bool isMouseDown = false; 9 private Vector3 lastMousePosition = Vector3.zero; 10 11 Vector3 defaultPosition; 12 public float speed = 0.5f; 13 14 15 void Start() 16 { 17 lastMousePosition = Input.mousePosition; 18 19 } 20 // Update is called once per frame 21 void Update() 22 { 23 24 /* 25 * Camera.ScreenToWorldPoint 屏幕轉世界位置 26 從屏幕空間到世界空間的變化位置。 27 28 屏幕空間以像素定義。屏幕的左下為(0,0);右上是(pixelWidth,pixelHeight),Z的位置是以世界單位衡量的到相機的距離。 29 */ 30 #region 鼠標移動(手機屏幕移動)鼠標或者手指不一定要在角色上 角色跟著移動 注意:這里必須2D游戲。即。在創(chuàng)建游戲的時候選擇2D 31 if (Input.GetMouseButtonDown(0)) 32 { 33 isMouseDown = true; 34 35 } 36 if (Input.GetMouseButtonUp(0)) 37 { 38 isMouseDown = false; 39 lastMousePosition = Vector3.zero; 40 } 41 if (isMouseDown) 42 { 43 if (lastMousePosition != Vector3.zero) 44 { 45 //camera.main.ScreenToWorldPoint(Input.mousePosition); 46 Vector3 offetSet = Camera.main.ScreenToWorldPoint(Input.mousePosition) - lastMousePosition; 47 48 transform.position = transform.position + offetSet; 49 } 50 lastMousePosition = transform.position; 51 } 52 #endregion 53 54 } 55 56 57 /// <summary> 58 /// 鼠標按下,記住當前鼠標的位置(如果是手機。則是觸摸的位置) 59 /// </summary> 60 void OnMouseDown() 61 { 62 defaultPosition = Input.mousePosition; 63 } 64 65 /// <summary> 66 /// 鼠標拖動(手機屏幕上拖動)移動物體 67 /// </summary> 68 void OnMouseDrag() 69 { 70 Vector3 v = Input.mousePosition - defaultPosition; 71 transform.position = v; 72 //平滑速度,根據(jù)需要用 73 //transform.position += v * Time.deltaTime * speed; 74 defaultPosition = Input.mousePosition; 75 } 76 77 }?
轉載于:https://www.cnblogs.com/nsky/p/4593936.html
總結
以上是生活随笔為你收集整理的兼容PC和手机触摸代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mybatis各种模糊查询
- 下一篇: 如何用好消息推送(JPush)为app拉