unity用于android上的旋转缩放脚本

来源:互联网 发布:工程造价软件广联达 编辑:程序博客网 时间:2024/06/05 07:16
using System.Collections;using System.Collections.Generic;using UnityEngine;public class ScaleRotate : MonoBehaviour {    private Touch oldTouch1;    private Touch oldTouch2;    // Use this for initialization    void Start () {    }    // Update is called once per frame    void Update () {        //没有触摸        if (Input.touchCount<=0) {            return;        }        if (Input.touchCount==1) {            Touch touch = Input.GetTouch(0);            Vector2 deltaPos = touch.deltaPosition;            transform.Rotate(Vector3.down*deltaPos.x,Space.World);            transform.Rotate(Vector3.right*deltaPos.y,Space.World);        }        Touch newTouch1 = Input.GetTouch(0);        Touch newTouch2 = Input.GetTouch(1);        if (newTouch2.phase==TouchPhase.Began) {            oldTouch2 = newTouch2;            oldTouch1 = newTouch1;            return;        }        float oldDistance = Vector2.Distance(oldTouch1.position,oldTouch2.position);        float newDistance = Vector2.Distance(newTouch1.position,newTouch2.position);        float offest = newDistance - oldDistance;        float scaleFactor = offest / 1000f;        Vector3 localScale = transform.localScale;        Vector3 scale = new Vector3(localScale.x+scaleFactor,localScale.y+scaleFactor,+localScale.z+scaleFactor);        if (scale.x>0.3f&&scale.y>0.3f&&scale.z>0.3f) {            transform.localScale = scale;        }        oldTouch1 = newTouch1;        oldTouch2 = newTouch2;    }}
原创粉丝点击