- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Perchè questo ActionScript 1.0 non funziona con il 2.0??
-
Perchè questo ActionScript 1.0 non funziona con il 2.0??
ciao,
stavo seguendo una guida per creare un particolare elemento. La sua funzione praticamente è che quando clicco sull'elemento questo si sposta simulando un movimento molleggiato.
Io vorrei riprodurre questo movimento e quindi ho iniziato a rifare il fla come da guida. Una volto finito però questo non funziona, allora ho decompilato l'esempio e salvato come actionscript 1.0 e funziona, se poi risalvo lo stesso file fla per flash 8 non funziona ancora..in pratica il codice è
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; } } ```e
onClipEvent (load) {
fine = _x;
accellerazione = 1.8;
inerzia = 1.5;
}
onClipEvent (enterFrame) {
inizio = _x;
spostamento = (spostamento+(fine-inizio)/accellerazione)/inerzia;
_x += spostamento;
}qualcuno sa indicarmi una possibile spiegazione?? grazie :D
-
ho provato ad adattare lo spript a 2.0 ma ho notato che salvandolo come action script 2.0 funziona, mentre salvandolo da flash player 6 al 8 non funziona +.
come posso fare?? grazie
-
Ciao,
tanto per iniziare sarebbe da dichiarare tutte le variabile con il data type giusto. In as1, flash lo faceva automaticamente da solo, non succede piu in as2/flash8.
Esempio:
invece di inizio = _parent._x;
var inizio:Number= _parent._x;Meglio anche dichiarle tutte prima tipo var inizio:Number; nel primo fotogramma del filmato.
-
si ho già provato.. in questo modo:
onClipEvent (load) { var fine:Number; var accellerazione:Number; var inerzia:Number; var spostamento:Number; getURL("FSCommand:allowscale", false); fine = _x; accellerazione = 1.800000; inerzia = 1.500000; } onClipEvent (enterFrame) { inizio = _x; spostamento = (spostamento + (fine - inizio) / accellerazione) / inerzia; _x = _x + spostamento; }
onClipEvent (load) { var inizio:Number; var aperto:Boolean; inizio = _parent._x; } onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse, false)) { if (!aperto) { _parent.fine = 20; } else { _parent.fine = inizio; } // end if aperto = !aperto; } // end if }
ma niente
-
Le var devono essere dichiarate al di fuori del onClipEvent.
Se non va allega il fla di base. Ci provero piu tardi.;)
-
ci ho provato ma niente..
purtroppo è tanto che nn usavo flash e anche prima non è che avessi tutta questa familiaritàcmq allego il file, grazie ancora. Ora è messo come action script 2 e con flash player 7 e nn va.. se lascio actionscript 2 ma flash 6 invece funziona
-
Quello è un fla decompilato???
Puoi fare vedere l'esempio originale per capire che dovrebbe attualmente fare quella freccia?:?
-
si è un fla decompilato e che poi ho sistemato.. ho allegato il file iniziale
-
Ciao,
non mi sono scordata di te ma sinceramente sarebbe piu facile rifare il tutto. Questo tipo di script sono ormai datati. Potrebbe raggiungere lo stesso effetto con qualche righe di as usando per esempio una classe tipo tween.
-
ah ok!
avevo trovato quella classe dopo aver postato qua ma non ero riuscito a trovare nulla che mi soddisfacesse. Ovvero alla fine il risultato mi sembrava migliore con il metodo "vecchio"ora leggo un pò e ci provo se mai chiedo ancora aiuto.
grzie