unity开关随机控制灯亮与不亮
时间: 2023-08-09 17:08:59 浏览: 95
您好!您可以使用以下代码来实现开关随机控制灯亮与不亮的功能:
```csharp
public class LightController : MonoBehaviour
{
public Light light;
public float onTime = 1f; // 灯亮的时间
public float offTime = 1f; // 灯灭的时间
private bool isOn = false;
private void Start()
{
// 开始时先随机灯的状态
isOn = Random.Range(0, 2) == 1;
if (isOn)
{
light.enabled = true;
StartCoroutine(TurnOffAfter(onTime));
}
else
{
light.enabled = false;
StartCoroutine(TurnOnAfter(offTime));
}
}
private IEnumerator TurnOnAfter(float delay)
{
yield return new WaitForSeconds(delay);
light.enabled = true;
isOn = true;
StartCoroutine(TurnOffAfter(onTime));
}
private IEnumerator TurnOffAfter(float delay)
{
yield return new WaitForSeconds(delay);
light.enabled = false;
isOn = false;
StartCoroutine(TurnOnAfter(offTime));
}
}
```
在这个代码中,我们使用了协程来控制灯亮和灯灭的时间,并通过 `Random.Range(0, 2)` 来随机灯的初始状态。当灯亮时,我们会在 `onTime` 秒后将其关闭,当灯灭时,我们会在 `offTime` 秒后将其打开。这样就可以实现开关随机控制灯亮与不亮的功能了。
阅读全文