Salve a tutti, vengo subito al dunque. Devo realizzare un Timer con ore, minuti e secondi, un CountDown, che partendo da un valore assoluto che definisco io (in seguito sarà definito dal ricevimento di altri valori, che arriveranno in "input" da un'altra applicazione). Sostanzialmente il mio timer è formato da un "countdown" e un "countup". Quando il conto alla rovescia soddisfa una certa condizione (ora arbitrariamente ho definito in un if, semplicemente quando i miei secondi arrivano a 0, cioè alla fine di ogni minuto) il mio countup, incrementa un valore fisso che definisco io. Per ora funziona tutto, ma ci sono delle migliorie che devo apportargli e che non sono in grado di realizzare. In sostanza:
1)Devo trovare una classe o un metodo che mi permetta di visualizzare sempre il doppio decimale dopo la virgola, ad es: 140,20 anzichè 140,2 come fare?
2)Devo trovare una classe o un metodo che trasformi il "." decimale in "," esiste un sistema che lo fa di suo o devo scrivere una funzione ad hoc? In tal caso qualcuno saprebbe darmi un input da cui partire?
3)Devo trovare un modo per far si che, nel CountDown, quando il conto alla rovescia comprende valori ad una sola cifra fra 0 e 9, vi compaia lo 0 davanti (ad es. 09 anzichè semplicemente 9) come potrei fare? Avevo pensato di trasformare la variabile da Number a String aggiungendogli lo "0" (ad es miaVariabile:String = "0" + miaVariabile) ma non riesco comunque e penso non sia la strada migliore, qualcuno sa darmi dei consigli?
4)Devo trovare una classe che, allo scattare del prezzo del CountUp, cioè al cambiamento dei valori, dia un effetto tipo scatto del contachilometri, non so se sono stato chiaro. Quando cambia un numero dinamicamente, una classe associata, dovrebbe dare l'effetto della "rotazione" verticale, come sul contachilometri, di quel numero. Qualcuno conosce una classe simile o qualcos'altro che possa aggevolarmi a fare ciò?
Mi rendo conto che la mole delle cose che chiedo non sono da poco, perciò non mi aspetto niente e qualsiasi consiglio anche minimale, sarà ben accetto, grazie a tutti. Di seguito copio il codice che ho scritto, collegato a sua volta a 3 aree di testo dinamiche, create nello stage (rispettivamente: ore_txt, min_txt, sec_txt e prezzo_txt). Grazie a tutti.
var prezzo:Number = 169.90;
var CounterTimeOre:Number=24;
var CounterTimeMin:Number=60;
var CounterTimeSec:Number=10;
countDown = function()
{
ore_txt.text=CounterTimeOre;
min_txt.text=CounterTimeMin;
sec_txt.text=CounterTimeSec;
if(CounterTimeSec > 0 )
{
sec_txt.text = CounterTimeSec--;
}
else if(CounterTimeSec == 0)
{
prezzo = prezzo_txt.text = prezzo + 0.01;
trace("Countup")
CounterTimeSec=CounterTimeSec+60;
CounterTimeMin--;
if(CounterTimeMin == 0)
{
CounterTimeMin=CounterTimeMin+60;
if(CounterTimeOre > 0)
{
ore_txt.text = CounterTimeOre--;
}
else if(CounterTimeOre == 0)
{
CounterTimeOre=CounterTimeOre+24;
}
}
}
prezzo_txt.text = prezzo;
trace("Countdown");
}
timer = setInterval(countDown, 1000);
countDown();