在场景中有两个不在同一位置的游戏对象A和B,用鼠标点击A后B自动向A靠近,请叙述A、B各自应做的设置。脚本组件命名为Nav.cs,请写出完整的代码,代码中的变量不用开放变量赋值方式。
时间: 2023-02-25 18:02:39 浏览: 101
在 Unity 中,可以通过使用 NavMesh 导航组件来实现这个功能。
首先,在游戏对象 A 和 B 上都添加 NavMeshAgent 组件。
然后,添加一个名为 Nav.cs 的脚本,代码如下:
```
using UnityEngine;
public class Nav : MonoBehaviour
{
private NavMeshAgent agentA;
private NavMeshAgent agentB;
private void Start()
{
agentA = GameObject.Find("A").GetComponent<NavMeshAgent>();
agentB = GameObject.Find("B").GetComponent<NavMeshAgent>();
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
if (hit.collider.gameObject.name == "A")
{
agentB.destination = hit.point;
}
}
}
}
}
```
最后,将 Nav.cs 脚本挂载在一个空的游戏对象上。
当你点击游戏对象 A 时,游戏对象 B 将会自动向 A 靠近。
阅读全文