touch------一个手指旋转,两个手指移动

using UnityEngine;
using System.Collections;

public class TouchMoveDir : MonoBehaviour {
public GameObject TextPrefab;
private GameObject tempText;

private Vector3 touchPosition; //存储一个vector3值
public float touchSpeed = 0.1f; //设定一个移动速度
public float rotateSpeed = 50.0f;
void FixedUpdate()
{
if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
{
//判断是否是单点触摸
if (Input.touchCount == 1)
{//判断是是类型为移动触摸
if (Input.GetTouch(0).phase == TouchPhase.Moved)
{ //根据触摸点计算x和y的位置,然后重置位置
//target.transform.Translate(Vector3.forward * Time.deltaTime * 5);
//target.transform.LookAt(target.position);
gameObject.transform.Rotate(0, touchPosition.x * rotateSpeed, 0);
// ResetPos();
}
}
}
//如果触摸大于0,并且移动时
if (Input.touchCount == 2)
{
if (Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved)
{

//获取手指最后一帧移动的xy轴距离
touchPosition = Input.GetTouch(0).deltaPosition;
//让物体移动这个距离
gameObject.transform.Translate(touchPosition.x * touchSpeed, 0, 0);
TextPrefab = GameObject.Find("Canvas");
tempText = Instantiate(Resources.Load("Text") as GameObject);
tempText.transform.parent = TextPrefab.transform;
tempText.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, 130);
//ResetPos();
}
}
}
// void ResetPos() {
//gameObject.transform.Rotate(26.6f, 104.4f, 987.0065f);
//gameObject.transform.Translate(26.6f, 104.4f, 987.0065f);

//}
void OnGUI()
{
GUI.Label(new Rect(50, 100, 200, 20), "x pos is" + touchPosition.x + "float");
// GUI.Label(new Rect(50, 120, 200, 20), "y pos is" + touchPosition.y + "float");

}

}

转载于:https://www.cnblogs.com/ZeroMurder/p/5629016.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值