unity鼠标点击一个位置生成一个物体怎么下次点击同样位置不能生成
时间: 2024-01-22 18:03:01 浏览: 117
你可以在鼠标点击时记录下点击的位置,然后在下次点击时检查是否在该位置已经生成了物体,如果已经生成了就不再生成。以下是一个示例代码:
```csharp
public class ObjectGenerator : MonoBehaviour
{
public GameObject objectPrefab; // 要生成的物体
private Vector3 lastPosition; // 上一次生成物体的位置
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Vector3 clickPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
clickPosition.z = 0;
if (clickPosition != lastPosition)
{
Instantiate(objectPrefab, clickPosition, Quaternion.identity);
lastPosition = clickPosition;
}
}
}
}
```
在这个示例中,我们检查当前点击的位置 `clickPosition` 是否与上次生成物体的位置 `lastPosition` 相同,如果不同就生成一个新的物体并更新 `lastPosition` 的值。这样就可以避免重复生成物体了。
阅读全文