unity 物体A碰到碰撞体B时 物体C由D移动到E点 当碰撞体B不再检测到碰撞时 物体C由E移动到D点的代码
时间: 2023-10-16 14:07:21 浏览: 47
你可以参考下面的代码实现这个功能:
```csharp
using UnityEngine;
public class ObjectCController : MonoBehaviour
{
public Transform pointD;
public Transform pointE;
public float speed = 5f;
private Transform target;
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("ObjectA") && collision.gameObject.GetComponent<Collider>() == collision.collider)
{
target = pointE;
}
}
private void OnCollisionExit(Collision collision)
{
if (collision.gameObject.CompareTag("ObjectA") && collision.gameObject.GetComponent<Collider>() == collision.collider)
{
target = pointD;
}
}
private void Update()
{
if (target != null)
{
transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime);
}
}
}
```
在这个脚本中,我们首先定义了点D和点E的Transform组件,以及物体C的移动速度。然后,我们在OnCollisionEnter函数中监听碰撞事件,如果物体A与碰撞体B发生碰撞,我们将物体C的目标位置设置为点E。在OnCollisionExit函数中监听碰撞结束事件,如果物体A与碰撞体B不再发生碰撞,我们将物体C的目标位置设置为点D。在Update函数中,我们使用Vector3.MoveTowards函数来控制物体C的移动,直到它到达目标位置。
希望这个代码可以帮助你实现你的功能。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![unitypackage](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)