unity3d之触屏事件的处理

来源:互联网 发布:win7 for mac 安装iso 编辑:程序博客网 时间:2024/05/21 18:50

建议cocos2dx引擎编辑器的不给力,最近开始研究一下unity3d,unity3d之触屏事件的处理,假设我想让一个物体随着我手指的滑动而滑动,应该怎么处理,方法有两种

方法一:

使用Input.GetMouseButtonDown

代码如下

using UnityEngine;using System.Collections;public class Controll : MonoBehaviour {private bool isMouseDown = false;private Vector3 lastMousePosition = Vector3.zero;// Update is called once per framevoid Update () {if(Input.GetMouseButtonDown(0)){isMouseDown = true;}if(Input.GetMouseButtonUp(0)){isMouseDown = false;lastMousePosition = Vector3.zero;}if(isMouseDown){if(lastMousePosition!=Vector3.zero){Vector3 offset = Camera.main.ScreenToWorldPoint(Input.mousePosition) - lastMousePosition;transform.position = transform.position + offset;}lastMousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);}}}

方法二:使用touch事件

using UnityEngine;using System.Collections;public class Hero : MonoBehaviour {private Vector3 touchposition;void Start () {}// Update is called once per framevoid Update () {if ((Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Moved)) {touchposition=Input.GetTouch(0).deltaPosition;transform.Translate(touchposition.x*0.01f,touchposition.y*0.01f,0);}}}




0 0