unity连续在鼠标位置生成物体
时间: 2023-12-09 21:03:33 浏览: 96
以下是一个简单的Unity脚本,可以在鼠标位置连续生成物体:
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectSpawner : MonoBehaviour
{
public GameObject objectPrefab; // 需要生成的物体
public float spawnRate = 0.5f; // 生成物体的速率(每秒)
private float nextSpawnTime; // 下一个生成物体的时间
void Update()
{
if (Input.GetMouseButton(0) && Time.time > nextSpawnTime)
{
// 在鼠标位置生成物体
Vector3 spawnPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
spawnPosition.z = 0;
Instantiate(objectPrefab, spawnPosition, Quaternion.identity);
// 更新下一个生成物体的时间
nextSpawnTime = Time.time + 1 / spawnRate;
}
}
}
```
将此脚本挂载到场景中的任何一个物体上,然后将需要生成的物体(例如一个Cube)拖到`objectPrefab`字段上即可。调整`spawnRate`字段以控制生成速率。每次单击鼠标左键时,都会在鼠标位置生成一个物体。
阅读全文