Files
TaiWan/Assets/Roaming/Scripts/Controller/Camera/TouchController.cs

78 lines
2.0 KiB
C#
Raw Normal View History

2025-10-31 15:20:38 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TouchController : BaseController
{
/// <summary>
/// <20><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>Transform
/// <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ǰ<EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>
/// </summary>
[Tooltip("<22><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>Transform<72><6D>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>")]
public Transform tran;
/// <summary>
/// <20>ƶ<EFBFBD><C6B6>ٶȣ<D9B6><C8A3><EFBFBD>/<2F>
/// </summary>
[Tooltip("<22>ƶ<EFBFBD><C6B6>ٶȣ<D9B6><C8A3><EFBFBD>/<2F>룩")]
public float moveSpeed = 5;
/// <summary>
/// <20><>ת<EFBFBD>ٶȣ<D9B6><C8A3>Ƕ<EFBFBD>/<2F>
/// </summary>
[Tooltip("<22><>ת<EFBFBD>ٶȣ<D9B6><C8A3>Ƕ<EFBFBD>/<2F>룩")]
public float rotateSpeed = 10;
/// <summary>
/// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
/// </summary>
Vector2 startTouchPosition;
void Start()
{
if (tran == null)
tran = transform;
}
void Update()
{
if (CanControl)
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
startTouchPosition = touch.position;
}
else if (touch.phase == TouchPhase.Moved)
{
Vector2 deltaTouch = touch.position - startTouchPosition;
tran.position += tran.forward * moveSpeed * Time.deltaTime * deltaTouch.y; // <20>ƶ<EFBFBD>
if (deltaTouch.x > 0)
tran.Rotate(Vector3.up * rotateSpeed * Time.deltaTime ); // <20><>ת
else
tran.Rotate(Vector3.up * -rotateSpeed * Time.deltaTime); // <20><>ת
IsTouchOnControl = true;
}
else
{
IsTouchOnControl = false;
}
}
else
{
if(IsTouchOnControl)
{
Invoke("SetTouch", 1f);
}
}
}
}
void SetTouch()
{
IsTouchOnControl = false;
}
}