Bom dia pessoal!

Preciso acelerar a contagem de um timer decrementador, quando executada uma determinada função, essa função já está pronta, não sei é como escrever para que dentro dela o timer fique 2x mais rápido, alguém pode me ajudar?

Exibições: 710

Responder esta

Respostas a este tópico

Não entendi muito bem.

Esse timer é um contador simples? ou usa millis?

Se vc quer o que o contador regressivo fique 2 vezes mais rápido dentro da função, não seria só fazer assim:

timer -= 2;

???

Desculpe não ter postado o código Jose Augusto Cintra, sou hobbista e estou ajustando esse projeto para usar em jogos.

preciso resolver dentro da função speeboom

http://pastebin.com/YHGCuUmp

Olá Diogo

Acho que você pode fazer assim:

- Se você quer deixar essa função mais rápida, diminua o delay para 350.

- Se você quer que o contador de tempo avance mais rápido dentro dessa função, então use a função adjustTime, passando o número de segundos que quer adiantar:

counter.adjustTime(2); // vai somar 2 segundos no contador

Vou tentar Jose!

Agradeço a ajuda!

José!

Talvez eu tenha deixado de escrever alguma coisa, ou não tenha entendido certo,  pq ao copilar aparece a mensagem de que não há função correspondente para chamar o timer, então acredito que eu precise escrever algo e não estou sabendo o que é.

o que fiz foi

void SpeeBoom()
{

buttonBip(50);
counter.adjustTime(2);

}

Nesse caso, a library Timer que você está usando não possui o método adjustTime.

Sua library não é esta? Veja no link a informação sobre esse método.

http://playground.arduino.cc/Code/Time

Caso não tenha essa opção, você teria que usar o método setTime, adiantando os segundos de forma manual.

dentro da library temos o seguinte sobre o adjustTime:

bool Timer::adjustTime ()
{
if (this->seconds <0) // if 60 do this operation
{
this->minutes -= ((this->seconds*-1)/60)+1;
this->seconds = 60-((this->seconds*-1)%60);
}

if (this->minutes <0)
{
this->hours -= ((this->minutes*-1)/60)+1;
this->minutes = 60-((this->minutes*-1)%60);
}

if (this->hours <0)
{
this->hours = 0;
}

if (this->hours <= 0 && this->minutes <= 0 && this->seconds <= 0)
{
return true;
}
return false;
}

bool Timer::decrement(unsigned long currentMillis)
{
if (this->seconds >= 0) // do this oper. 59 times
{
if(currentMillis - this->secMillis > interval)
{
this->secMillis = currentMillis;
this->seconds--; // add 1 to this->seconds
}
}

return adjustTime();

Será que conseguiremos especificar algo para que acelere o timer?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço