unity 中写一个脚本,在安卓平台运行时,点击屏幕后,就从相机发射一条射线,碰撞到的上挂载名字为Click的组件时打印一句输出:“停下来”
时间: 2024-03-14 10:45:24 浏览: 64
好的,这是一个比较常见的需求,我给您提供一下代码实现:
```csharp
using UnityEngine;
public class ClickDetector : MonoBehaviour
{
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// 从相机发射一条射线
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
// 碰撞到的上挂载名字为Click的组件时打印一句输出
if (Physics.Raycast(ray, out hit) && hit.collider.gameObject.GetComponent<Click>() != null)
{
Debug.Log("停下来");
}
}
}
}
```
上面的代码中,我们在 Update 方法中检测是否按下了鼠标左键,如果按下了,则从相机发射一条射线,并检测是否碰撞到了名字为 Click 的组件。如果碰撞到了,则打印一句输出。
需要注意的是,我们在检测碰撞时,使用了 GetComponent<Click>() 方法来获取名字为 Click 的组件,这个需要您在场景中手动添加。如果您的组件名字不是 Click,需要将代码中的 Click 替换成您的组件名字。
阅读全文