Salve a tutti; è la 1°volta che chiedo aiuto in un forum;ma constatando che su html ci sono molte persone competenti mi sembrava proprio il caso di chiedere a voi!!!
Sono un principiante di flash e ActionScript(quindi vi chiedo di essere indulgenti!!) e stavo seguendo l'articolo di NEGATYVE sulla costruzione di un sito interamente in flash,anche se un po' datato ritengo che sia un articolo molto interessante e sopratutto istruttivo per me principiante...Veniamo al dunque:fin ora ha funzionato tutto alla perfezione ora mi trovo a dover costruire il panello di controllo ;seguo fedelmente le istruzioni che qui riporto per intero:
------------------------------
Disegno
Apriamo suono.fla, e aggiungiamo alla libreria, tramite il pulsante +, un movieclip che chiameremo pannello. All'interno di questo movieclip, creiamo e rinominiamo layer secondo lo schema in figura.
Nel layer "pulsante" inseriamo un'istanza del movieclip freccia, con l'angolo superiore-sinistro nel punto di registrazione. A questo movieclip associamo:
onClipEvent (load) {
inizio = _parent._x;
}
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
if (!aperto) {
_parent.fine = 320;
} else {
_parent.fine = inizio;
}
aperto = !aperto;
}
}
Con questo script, quando clicchiamo sul movieclip, alla variabile _parent.fine viene assegnato una volta il valore 320, l'altra il valore inizio, fermato al caricamento del movieclip: questo valore è la posizione del movieclip che contiene la freccia, all'avvio.
// al caricamento del movieclip
onClipEvent (load) {
// assegna a "inizio" il valore della posizione iniziale
// sull'asse delle x, del movieclip che contiene la freccia
// (nel nostro caso si tratta del movieclip "pannello")
inizio = _parent._x;
}
// al click del mouse
onClipEvent (mouseDown) {
// se il puntatore è sul movieclip
if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
// se la variabile "aperto" è vera
if (!aperto) {
// setta "fine" uguale a 320
_parent.fine = 320;
// altrimenti
} else {
// assegna a "fine" il valore di "inizio"
_parent.fine = inizio;
}
// cambia "aperto" con il proprio opposto booleano
aperto = !aperto;
}
}
Torniamo alla timeline principale: trasciniamo nel layer "pannello", un'istanza del movieclip omonimo. A questo movieclip associamo:
onClipEvent (load) {
fine = _x;
accellerazione = 1.8;
inerzia = 1.5;
}
onClipEvent (enterFrame) {
inizio = _x;
spostamento = (spostamento+(fine-inizio)/accellerazione)/inerzia;
_x += spostamento;
}
Ad ogni riproduzione di questo movieclip, la posizione sull'asse delle X viene settata in base alla formula assoggettata all'enterFrame. In base a questa formula, attribuiamo all'oggetto una coordinata finale, che raggiungerà con l'andamento del moto elastico smorzato. All'avvio, questa coordinata finale, cioè la variabile fine, è la posizione stessa del movieclip, dimodoché questo è fermo. Quando poi dall'interno del movieclip, il pulsante freccia ne cambia il valore, il movieclip pannello si sposta di conseguenza. Questo è quello che otteniamo:
--------------------------------------------------------
ecco al momento di testare il filmato naturalmente appare la freccia ma al click questa non effettua alcun movimento... : dhò: non riesco a capire proprio cosa sbaglio qulcuno puo' venirmi in Aiuto!!!???
PS: dimenticavo di specificare che sto' usando flash CS3 non vorrei che fosse proprio questo il problema? (anche se finora ha funzionato tutto)