unity 保存上次点击的坐标位置 PC和移动端都可用
在Unity中,可以使用Input类来获取用户输入的坐标位置。你可以在每次点击时保存最后点击的坐标位置,并在需要的时候获取它。
以下是一个示例代码,它可以在PC和移动设备上保存最后点击的坐标位置:
using UnityEngine;
public class ClickManager : MonoBehaviour
{
private Vector3 lastClickPosition;
private void Update()
{
// 检测鼠标点击或触摸屏点击
if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began))
{
// 获取点击位置
Vector3 clickPosition = GetClickPosition();
// 保存最后点击的位置
lastClickPosition = clickPosition;
// 在控制台输出最后点击的位置
Debug.Log("Last Click Position: " + lastClickPosition);
}
}
private Vector3 GetClickPosition()
{
// 获取鼠标点击位置或触摸屏点击位置
Vector3 clickPosition = Vector3.zero;
#if UNITY_STANDALONE || UNITY_WEBGL
clickPosition = Input.mousePosition;
#elif UNITY_ANDROID || UNITY_IOS
clickPosition = Input.GetTouch(0).position;
#endif
// 将点击位置转换为世界坐标
clickPosition = Camera.main.ScreenToWorldPoint(clickPosition);
return clickPosition;
}
}
在上述代码中,我们使用Update方法来检测用户点击输入。如果用户点击鼠标左键或触摸屏,我们将获取点击位置并将其保存为最后点击的位置。最后,我们将最后点击的位置输出到控制台。
请注意,上述代码假设你有一个名为"Main Camera"的主摄像机。如果你使用的是不同的摄像机,请将Camera.main替换为你的摄像机引用。
希望这可以帮助你在Unity中保存和获取最后点击的坐标位置
原文地址: https://www.cveoy.top/t/topic/iyHv 著作权归作者所有。请勿转载和采集!