Originariamente inviato da Franto86
PS: Io il codice l'ho preso dall'altro sito in html appunto, ma lo vorrei applicare a quello in flash! Scusa se non te l'ho detto.
non era difficile da capire
comunque preferisco non attribuire i nomi nel campo var, ai vari input-text, meglio utilizzare il nome di istanza, si gestisce in maniera più semplice (imho)
diciamo che l'hai fatto ed il tuo form si trova nella _root (la timeline principale del filmato), il codice si dovrebbe trasformare in questo
codice:
function IndiceCalore() {
if (isNaN(Number(temperatura.text)) || isNaN(Number(umrel.text))) {
trace("Bisogna inserire numeri e non lettere.");
} else if (temperatura.text == "" || umrel.text == "") {
trace("Bisogna inserire un numero (es. 3.5) per la Temperatura e per l'Umidità");
}
// legge le variabili dal modulo
var tC = parseFloat(form.temperatura.value);
var u = parseFloat(form.umrel.value);
// controlla l'applicabilità della formula
if (tC<25 || u<30) {
trace("Attenzione! Per i valori inseriti il contributo dell'umidità potrebbe non essere significativo. I calcoli vengono comunque eseguiti.")
};
// Heat Index - Apparent Temperature
tF = tC*(9/5) + 32 ;
t2=tF*tF;
u2=u*u;
HI= -42.379 + 2.04901523*tF + 10.14333127*u - 0.22475541*tF*u - 6.83783e-3*t2 - 5.481717e-2*u2 + 1.22874e-3*t2*u + 8.5282e-4*tF*u2 - 1.99e-6*t2*u2 ;
HI = 5/9*(HI - 32);
HI = Math.round(HI*10)/10;
// Summer Simmer Index
SSI = 1.98*(tF - (0.55 - 0.0055*u)*(tF-58)) - 56.83;
SSI = 5/9*(SSI - 32);
SSI = Math.round(SSI*10)/10;
// Humidex
tK=tC + 273;
eTs=Math.pow(10,((-2937.4 /tK)-4.9283* Math.log(tK)/Math.LN10 +23.5471));
eTd=eTs * u/100;
HX=tC + ((eTd-10)*5/9);
HX = Math.round(HX*10)/10;
indiceHI.text = parseFloat(HI);
indiceSSI.text = parseFloat(SSI);
indiceHX.text = parseFloat(HX);
}