ps, nemmeno la formula matematica va...come risultato dà NaN
ps, nemmeno la formula matematica va...come risultato dà NaN
sembra che abbia risolto il secondo problema (quello della formula), bastava inserire .text ad ogni campo.
però come faccio a far capire al flash che il numero che deve risultare a TH deve essere angolare, quindi da 0 a 360° ??
in che senso far capire a Flash?? al massimo puoi effettuare un controllo...
if (this._parent.TH.text<0) {
this._parent.TH.text=0;
}
else if (this._parent.TH.text>360) {
this._parent.TH.text=360;
}
in questo modo se eccede da una delle due parti viene riportato al valore limite...
ma in quel modo poi il valore finale non sarà sempre uguale a 360 se TH è maggiore di 360?
ho provato con questo ma nulla ancora...
if (720 > this._parent.TH.text > 360) {
this._parent.TH.text = this._parent.TH.text-360
} else if (1080 > this._parent.TH.text > 720) {
this._parent.TH.text = this._parent.TH.text-720
} else if (1440 > this._parent.TH.text > 1080) {
this._parent.TH.text = this._parent.TH.text-1080
}
ma infatti come scritto nel mio precedente post, l'obbiettivo era quello, di non farlo sforare dei limiti di 0 e 360... forse dovresti spiegarti meglio... quando l'angolo è maggiore di 360 cosa dovrebbe fare??Originariamente inviato da Sirlight87
ma in quel modo poi il valore finale non sarà sempre uguale a 360 se TH è maggiore di 360?
il risultato finale, essendo un angolo, deve essere per forza minore di 360, quindi ogni volta che arriva a 360 o il risultato sia maggiore di 360 e multipli, dovrebbe fare in modo che vada al di sotto di quel valore
posto tutto il codice, che tralaltro non funziona, dovrebbero esserci errori nella formula matematica
TH = TC + (asin (WV *sin (TC-WD+180))/TAS)
GS= TAS * sin ((TC-WD+180)+(asin (WV *sin (TC-WD+180))/TAS))/ sin (TC-WD+180)
on (click) {
this._parent.GS.text =
this._parent.TAS.text*Math.sin((this._parent.TC.te xt-this._parent.WD.text+180)+Math.sin(this._parent.TC .text-this._parent.WD.text+180)/this._parent.TAS.text)/Math.sin(this._parent.TC.text-this._parent.WD.text+180)
}
-------------------------------------------------
on (click) {
if (this._parent.TC == "" // this._parent.TAS == "" // this._parent.WD == "" // this._parent.WV == "") {
this._parent.attenzione.text = "ATTENZIONE! BISOGNA RIEMPIRE TUTTI I CAMPI!";
} else {
this._parent.TH.text =
(this._parent.TC.text+Math.asin(this._parent.WV.te xt*Math.sin(this._parent.TC.text-this._parent.WD.text+180)/this._parent.TAS.text));
if (720 > this._parent.TH.text > 360) {
this._parent.TH.text = this._parent.TH.text-360
} else if (1080 > this._parent.TH.text > 720) {
this._parent.TH.text = this._parent.TH.text-720
} else if (1440 > this._parent.TH.text > 1080) {
this._parent.TH.text = this._parent.TH.text-1080
}
}
}
quindi puoi avere numeri anche molto grandi
e li devi riportare a numeri inferiori di 360 assendo angoli
ma come fai tu saresti cmq dcostretto a controllare tutti i multipli di 360
magari si potrebbe fare un controllo diverso
usando un while ad es
(premetto che nn ho flash ora e nn posso controllare)
supponendo che x sia il tuo num
if( x/360>1){
//allora essendo più grande di 360 mi calcolo il numero intero delle volte che 360 entra nel
//mio x
y=Math.round(x/360);
//numero finale
num = x-(360*y);
}//chiudi
ciao
la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !
sinceramente la formula non la capisco...
innanzitutto la prima parte ti funziona? nel senso se lascia qualche campo vuoto ti restituisce l'errore??
if (this._parent.TC == "" // this._parent.TAS == "" // this._parent.WD == "" // this._parent.WV == "") {
this._parent.attenzione.text = "ATTENZIONE! BISOGNA RIEMPIRE TUTTI I CAMPI!";
}
perchè dovrebbe essere così
if (this._parent.TC.text == "" // this._parent.TAS.text == "" // this._parent.WD.text == "" // this._parent.WV.text == "") {
this._parent.attenzione.text = "ATTENZIONE! BISOGNA RIEMPIRE TUTTI I CAMPI!";
}
scusate se risp ora, sn stato senza pc...
cmq grazie Crescenzo per la dritta ("num" a chi lo dovrò attribuire?)
pippuzzo: ciao, ora la prima parte funziona, ma tutto ciò che ha a che fare con le formule no purtroppo! cosa non hai capito?
num sarebbe il tuo angolo trasformato cioè riportato entro i 360°Originariamente inviato da Sirlight87
scusate se risp ora, sn stato senza pc...
cmq grazie Crescenzo per la dritta ("num" a chi lo dovrò attribuire?)
pippuzzo: ciao, ora la prima parte funziona, ma tutto ciò che ha a che fare con le formule no purtroppo! cosa non hai capito?
quindi alla fine devi usare num e nn x
![]()
la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !