***
EasyTouch触屏移动Demo
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Easytouch : MonoBehaviour
{
public GameObject effectPrefab;
public GameObject markGo;
public Text showText;
public string info;
void Start()
{
showText = GameObject.FindGameObjectWithTag("showText").GetComponent<Text>();
}
void Update () {
if (Input.touchCount>0)
{
info = string.Empty;
Touch myTouch = Input.touches[0];
info += "强爸爸手机";
switch (myTouch.phase)
{
//当一个手指刚按下的时候其对应的Touch对象的phase为Began
case TouchPhase.Began:
//myTouch.position为当前对象所对应的手指屏幕位置
//rawPosition为当前对象所对应手指的初始(刚按下的位置)屏幕位置
markGo = Instantiate(effectPrefab, Camera.main.ScreenToWorldPoint(myTouch.position)+new Vector3(0,0,10),Quaternion.identity);
print( "当前手指位置:" + myTouch.position + "实例化物体的位置:" +Camera.main.ScreenToWorldPoint(myTouch.position)+new Vector3(0,0,10) );
break;
//当一个手指移动的时候,其对应的Touch对象的phase为Moved
case TouchPhase.Moved:
//当一个手指按住不动的时候,其对应的Touch对象的phase为Stationary
case TouchPhase.Stationary:
markGo.transform.position = Camera.main.ScreenToWorldPoint(myTouch.position)+new Vector3(0,0,10);
break;
//当一个手指离开屏幕的时候,其对应的Touch对象的phase为Ended
case TouchPhase.Ended:
break;
//当因为某些原因(系统原因)取消对某个手指的追踪师时候,其对应的Touch对象的phase为Canceled
case TouchPhase.Canceled:
Destroy(markGo);
break;
default:
throw new ArgumentOutOfRangeException();
}
}
showText.text = info;
}
}