using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class TouchControl : MonoBehaviour
{
private RectTransform m_rt;
private float lastDistance = 0;
private float nowDistance = 0;
private Vector2 firstTouch = Vector3.zero;
private Vector2 secondTouch = Vector3.zero;
void Start()
{
m_rt = GetComponent<RectTransform>();
}
void Update()
{
if (Input.touchCount > 1)
{
if (Input.GetTouch(1).phase == TouchPhase.Began)
{
firstTouch = Input.GetTouch(0).position;
secondTouch = Input.GetTouch(1).position;
lastDistance = Vector2.Distance(firstTouch, secondTouch);
}
if (Input.GetTouch(1).phase == TouchPhase.Moved || Input.GetTouch(0).phase == TouchPhase.Moved)
{
firstTouch = Input.GetTouch(0).position;
secondTouch = Input.GetTouch(1).position;
nowDistance = Vector2.Distance(firstTouch, secondTouch);
Vector2 imageScale = new Vector2(m_rt.localScale.x, m_rt.localScale.y);
float changeScaleDistance = (nowDistance - lastDistance) / 100;
Vector2 changeScale = new Vector2(changeScaleDistance, changeScaleDistance);
m_rt.localScale = imageScale + changeScale;
lastDistance = nowDistance;
if (Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(1).phase == TouchPhase.Ended)
{
firstTouch = Vector3.zero;
secondTouch = Vector3.zero;
}
}
}
}
Unity UI缩放
最新推荐文章于 2024-08-02 16:38:07 发布