- Home /
Wanting timer to run after single click
Hi, very simple question, any help would be really nice I have a Time.time method that runs when the mouse button is clicked. But it only counts time when the mouse button is held down, I want it to run the timer fully after just one click of the mouse. Code is below:
void Update()
{
effectsTimer += Time.deltaTime;
if (Input.GetButton("Fire1") && Time.time > whenToFireNext)
{
soundTime();
projectileOrigin.GetComponent<Light>().enabled = true;
}
if (soundTimer >= 90f)
{
fireBullet ();
}
if (effectsTimer >= timeBetweenBullets * effectsDisplayTime)
{
disableEffects();
}
}
void soundTime()
{
soundTimer += Time.time;
}
Thanks for any help
Answer by tormentoarmagedoom · May 10, 2018 at 09:22 AM
Good day.
Then maybe you should change the code and use the Invoke function.
Invoke allows you to execute a method (in the same script, with no parameters) after X seconds
void Update ()
{
if (Input.GetKeyDown(Keycode.Mouse0))
{
Invoke ("DestroyTheWorld", 2.5f);
}
}
void DestroyTheWorld()
{
Boum!
}
so 2.5 seconds after i click the mouse button.... Boum!
Bye! :D
Answer by TanselAltinel · May 10, 2018 at 09:20 AM
Hi,
In your code, soundTimer is only increased in soundTime method, which is only called if Mouse Button is pressed.
Instead of calling the method like that, you can use Coroutine instead like this:
void Update() {
effectsTimer += Time.deltaTime;
if (Input.GetButton("Fire1") && Time.time > whenToFireNext) {
StartCoroutine(soundTime());
projectileOrigin.GetComponent<Light>().enabled = true;
}
if (effectsTimer >= timeBetweenBullets * effectsDisplayTime) {
disableEffects();
}
}
public IEnumerator soundTime() {
yield return new WaitForSeconds(90f);
fireBullet ();
}
Your answer
Follow this Question
Related Questions
Dont throw balls at the same time 1 Answer
What is the Input Key for the Steam Vive triggers? 1 Answer
Need a bit of help implementing something into a code 1 Answer
Change the default car controller 2 Answers
On waypoints if i set the moving speed of player to 20-30 he fall out of terrain why ? 0 Answers