- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- scrolling orizontale
-
ciao cica,function easeTo è sicuramente quella che produce il Motion Tween.
Bisogna quindi individuare un LimiteMassimo di scroll. per poi forzare il movimento entro quel limite. Struttura una piccola modifica alla funzione sperando sia quella che gestisce il controllo X.
public static function easeTo(tgt:MovieClip,xps:Number,yps:Number,spd:Num ber):Void {
LarghezzaAreaAttiva = maskClip._width
limitMax = tgt-LarghezzaAreaAttiva
var percX:Number = (xps/limitMax*LarghezzaAreaAttiva);
var newX:Number =(limitMax/LarghezzaAreaAttiva)percX;
arguments.length < 4 ? spd = 2: null;
tgt.onEnterFrame = function() {
this._x = Math.round((this._x)+(((-newX)-this._x)/spd));
/
commento vecchio codice x animare x
this._x = xps-(xps-this._x)/(1+1/spd);;
*/
this._y = yps-(yps-this._y)/(1+1/spd)
if (this._x>xps-1 && this._x<xps+1 && this._y>yps-1 && this._y<yps+1) {
this._x = Math.round(xps);
this._y = Math.round(yps);
delete this.onEnterFrame;
}
};};
get Try..
-
Edo ho provato a fare come mi hai detto tu, ma il risultato è quello di bloccare lo scrolling.
Sono stata stanotte fino alle tre a provare e riprovare ma niente, sono proprio confusa.
Comunque molte grazie, così almeno so dove concentrare le mie attenzioni.
Ragazzi pago da bere a chiunque mi tirerà fuori da questo casino! giuro!
-
@cica said:
Edo ho provato a fare come mi hai detto tu, ma il risultato è quello di bloccare lo scrolling.
Sono stata stanotte fino alle tre a provare e riprovare ma niente, sono proprio confusa.
Comunque molte grazie, così almeno so dove concentrare le mie attenzioni.
Ragazzi pago da bere a chiunque mi tirerà fuori da questo casino! giuro!ehh ma io non so effettiavemnete non avendolo provato quale sia La funzione che gestisce Il controllo Mouse in questa classe. alla mia formula suggerita, dovrebbe arrivare tempestivamente
la nuova posizione del mouse sull'area mask "" e non sulla root.Prova
LarghezzaAreaAttiva = 400
anzicchè
LarghezzaAreaAttiva = maskClip._width
non vorrei che non ti ritorna la largehzza giusta della maskera. per via delle variabili non globali e incluse nella funzione.
Quindi gli output daverificare sarebbero
trace(xps)
trace(maskClip._width)
trace(spd)resumando
public static function easeTo(tgt:MovieClip,xps:Number,yps:Number,spd:Num ber):Void {
trace(xps)
trace(maskClip._width)
trace(spd)
LarghezzaAreaAttiva = 400
limitMax = tgt-LarghezzaAreaAttiva
var percX:Number = (xps/limitMax*LarghezzaAreaAttiva);
var newX:Number =(limitMax/LarghezzaAreaAttiva)percX;
arguments.length < 4 ? spd = 2: null;
tgt.onEnterFrame = function() {
this._x = Math.round((this._x)+(((-newX)-this._x)/spd));
/
commento vecchio codice x animare x
this._x = xps-(xps-this._x)/(1+1/spd);;
*/
this._y = yps-(yps-this._y)/(1+1/spd)
if (this._x>xps-1 && this._x<xps+1 && this._y>yps-1 && this._y<yps+1) {
this._x = Math.round(xps);
this._y = Math.round(yps);
delete this.onEnterFrame;
}
};};
aggiornaci sugli output e non scoraggiarti. che ci siamo quasi
-
Grazie edo! sei davvero gentile!
Dopo pranzo provo con le indicazioni che mi hai dato e ti faccio sapere.
Ciao
-
Allora edo ho fatto i tentativi che mi hai suggerito.
non riesco a fare i trace dei parametri, però posso dire che la larghezza della maschera corrisponde alla larghezza del filmato che in questo caso è di 400 px.
ho impostato la funzione easeTo:
public static function easeTo(tgt:MovieClip,xps:Number,yps:Number,spd:Number):Void {
trace(xps)
trace(spd)
var LarghezzaAreaAttiva:Number = 400;
var limitMax:Number = tgt._width-LarghezzaAreaAttiva;
var percX:Number = (xps/limitMax*LarghezzaAreaAttiva);
var newX:Number =(limitMax/LarghezzaAreaAttiva)*percX;
arguments.length < 4 ? spd = 2: null;
tgt.onEnterFrame = function() {
this._x = Math.round((this._x)+(((-newX)-this._x)/spd));
this._y = yps-(yps-this._y)/(1+1/spd);
if (this._x>xps-1 && this._x<xps+1 && this._y>yps-1 && this._y<yps+1) {
this._x = Math.round(xps);
this._y = Math.round(yps);
delete this.onEnterFrame;
}
};
};questo è il risultato:http://www.pasticciotto.it/player/
qualche idea?
-
tieni conto che comunque imposti la var LarghezzaAreaAttiva il risultato non cambia
-
ummm mi sà che va in conflitto
puoi provare ad allegare il lfa?? e eventuali file correlati?
-
Ok!
files originali:
http://www.pasticciotto.it/player/flash_media_player.zipfiles da me modificati
-
scusa cica.. ma un esempio funzionale correlato dal difetto, come quello che ci hai linkato in anteprima che generi già quei box sottostanti, non riesci ad allegarmelo? trovo difficoltà a ricomporre il tutto. non ho tempo di studiarmi studiarmi questo video player. Sarei anche ben disposto. Se magari non desideri pubblicarne i sorgenti puoi inviarmi illink in pvt. vorrei almeno provarci dato che ho flash quasi sempre parto, e se si tratta di un piccolo bugs magari ci do una sistematina
-
Ti chiedo scusa edo! non volevo abusare della tua pazienza e non voglio incasinarti.
ho ritenuto giusto inviarti l'intero blocco di codici perchè pensavo potesse aiutarti.
Comunque per quanto riguarda il mio problema sono solo tre classi ad avere importanza:
/source/com/jeroenwijering/utils/scroller.as
/source/com/jeroenwijering/utils/animations.as (alla riga 89)
/source/com/jeroenwijering/players/playlistView.as attorno (alla riga 143)che sono poi i files che io ho modificato per avere lo scrolling orizzontale.
la funzione easeTo si trova nel file scroller.as (attorno alla riga 177)
e nel file animations.as (attorno alla riga 89)Grazie edo e se non hai tempo non importa.
Per il resto sono a tua disposizione