我正在尝试在玩家按住键的同时更改光强度。
在按住检查器窗口的键的同时,按住我的键,光强度会发生变化(我也尝试不使用协同例程,但也不起作用),但是强度仅在场景或游戏中的侦察器上发生变化
当我松开按键时,灯光会应用新的强度值,但是我真正需要的是在按住按键时应用。
有人可以帮助我吗?谢谢!
代码:
public class LightBulbController : MonoBehaviour
{
public Light myLight;
//Intensity Variables
public bool changeIntensity = false;
public float intensitySpeed = 1.0f;
public float maxIntensity = 10.0f;
float startTime;
bool startedCo = false;
private void Start()
{
startTime = Time.time;
}
private void Update()
{
/*if (changeIntensity)
{
myLight.intensity = Mathf.PingPong(Time.time * intensitySpeed, maxIntensity);
}*/
if (Input.GetKey(KeyCode.UpArrow))
{
if (!startedCo)
{
StartCoroutine(LerpLight());
startedCo = true;
}
}
}
IEnumerator LerpLight()
{
float duration = maxIntensity;
float totalTime = 0;
while (totalTime <= duration)
{
totalTime += Time.deltaTime;
myLight.intensity = totalTime * intensitySpeed;
yield return null;
}
}
}