Unity点击物体后,移动到物体所在位置
方法一:OnMouse检测(需要Collider组件)
脚本挂在被点击的物体上
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
/// <summary>
/// 缺点:要挂在所有需要被检测的物体上
/// </summary>
public class Move01 : MonoBehaviour
{
public GameObject Player; //可以直接通过手动拖拽找到物体,也可以通过名字或tag查找
private void Start()
{
//Player = GameObject.Find("Player"); //通过名字查找物体
//Player = GameObject.FindWithTag("cube"); //通过tag查找物体
}
void OnMouseDown()
{
Player.transform.localPosition = this.transform.localPosition; //position是世界位置,localPosition是相对父节点的位置;如果物体没有父节点,localpositon和position没有区别;如果物体有父节点,用position
Debug.Log("已移动");
}
}
方法二: 射线检测(需要Collider组件)
脚本挂在角色控制器上
using System.Collections