unity鼠标按住持续调用
时间: 2023-10-23 21:09:20 浏览: 118
你可以使用`Input.GetMouseButton()`和`Input.GetMouseButtonDown()`方法来检测鼠标按住事件。`Input.GetMouseButton()`方法可以在鼠标按住时持续调用,而`Input.GetMouseButtonDown()`方法只会在鼠标按下瞬间调用一次。
下面是一个示例代码,使用`Input.GetMouseButton()`方法在鼠标按住时持续调用一个方法:
```csharp
void Update()
{
if (Input.GetMouseButton(0)) // 0代表鼠标左键
{
// 在鼠标按住时持续调用该方法
DoSomething();
}
}
void DoSomething()
{
// 这里是你要执行的代码
}
```
你也可以使用`Coroutine`协程来实现按住鼠标后每隔一定时间执行一次方法的效果,代码如下:
```csharp
IEnumerator DoSomethingContinuously()
{
while (Input.GetMouseButton(0))
{
// 每隔0.5秒执行该方法
yield return new WaitForSeconds(0.5f);
DoSomething();
}
}
void DoSomething()
{
// 这里是你要执行的代码
}
```
这样子,当鼠标左键按住时,`DoSomething()`方法会每隔0.5秒被调用一次。当鼠标左键松开时,`DoSomethingContinuously()`协程也会停止执行。
阅读全文