相容PC和手機觸摸代碼

來源:互聯網
上載者:User

標籤:

測試環境: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 frame21     void Update()22     {23 24         /*25          * Camera.ScreenToWorldPoint 螢幕轉世界位置26         從螢幕空間到世界空間的變化位置。27 28         螢幕空間以像素定義。螢幕的左下為(0,0);右上是(pixelWidth,pixelHeight),Z的位置是以世界單位衡量的到相機的距離。29         */30         #region 滑鼠移動(手機螢幕移動)滑鼠或者手指不一定要在角色上 角色跟著移動  注意:這裡必須2D遊戲。即。在建立遊戲的時候選擇2D31         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         #endregion53 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         //平滑速度,根據需要用73         //transform.position += v * Time.deltaTime * speed;74         defaultPosition = Input.mousePosition;75     }76 77 }

 

相容PC和手機觸摸代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.