Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Zoom ed effetto elastico

    Salve,
    ho un problema che mi attanaglia da ieri:

    devo realizzare una palla che viene agganciata al RollOver, e che ingrandisce se viene trascinata verso il basso, e rimpicciolisce se viene trascinata verso l'alto. Al click del mouse deve tornare alla posizione e dimensione iniziale. Non appena arriva in posizione iniziale, deve "ondeggiare" come un elastico che si rilascia.

    Il mio problema sta proprio in questo effetto... Riesco a trascinare la palla,ingrandirla e rimpicciolira, rispedirla in posizione iniziale e ridimensionarla, ma non c'e' verso di farla "ondeggiare"...

    Il codice che ho usato per il trascinamento, lo zoom ed il rilascio è il seguente:

    codice:
    grandezzax = palla._xscale;
    grandezzay = palla._yscale;
    velocita = 8;
    xiniziale = palla._x;
    yiniziale = palla._y;
    palla.onRollOver = function() {
    	this.onEnterFrame = function() {
    		startDrag(this, true);
    		xcorrente = palla._x;
    		ycorrente = palla._y;
    		if ((ycorrente>yiniziale) && (ycorrente<190)) {
    			palla._xscale = 24;
    			palla._yscale = 24;}
    			---------------------
                            ---------------------
                       else if ((ycorrente<180) && (ycorrente>=170)) {
    			palla._xscale = 22;
    			palla._yscale = 22;
    		}    
                            ---------------------
                            ---------------------
                      palla.onPress = function() {
    	delete this.onEnterFrame;
    	this.onEnterFrame = function() {
    		stopDrag();
    		xcorrente = palla._x;
    		ycorrente = palla._y;
    		if (yiniziale>ycorrente) {
    			percorsoy = yiniziale-ycorrente;
    		}
    		if (yiniziale<ycorrente) {
    			percorsoy = ycorrente-yiniziale;
    		}
    		if (xiniziale>xcorrente) {
    			percorsox = xiniziale-xcorrente;
    		}
    		if (xiniziale<xcorrente) {
    			percorsox = xcorrente-xiniziale;
    		}
    		percorsoy2 = percorsoy/velocita;
    		percorsox2 = percorsox/velocita;
                 if ((xiniziale>xcorrente) && (yiniziale>ycorrente)) {
    			palla._x += percorsox2;
    			palla._y += percorsoy2;
    		}
    		if ((xiniziale>xcorrente) && (yiniziale<ycorrente)) {
    			palla._x += percorsox2;
    			palla._y -= percorsoy2;
    		}
    		if ((xiniziale<xcorrente) && (yiniziale<ycorrente)) {
    			palla._x -= percorsox2;
    			palla._y -= percorsoy2;
    		}
    		if ((xiniziale<xcorrente) && (yiniziale>ycorrente)) {
    			palla._x -= percorsox2;
    			palla._y += percorsoy2;
    		}
    I trattini indicano che lo script originale continua con altre condizioni "if" identiche, considerando altri intervalli (compreso tra 190 e 200, tra 250 e 260 ecc...).

    Per realizzarel'effetto elastico,ho cercato di aggiungere alla fine dello script:

    codice:
    function easeIt(mc, inizio, fine, tempo) {
    	tipo = mx.transitions.easing.Elastic.easeOut;
    	_root.zoomma = new mx.transitions.Tween(palla, "_xscale", tipo, inizio, 144, 3, true);
    }
    function easeIt2(mc, inizio, fine, tempo) {
    	tipo = mx.transitions.easing.Elastic.easeOut;
    	_root.zoomma = new mx.transitions.Tween(palla, "_yscale", tipo, inizio, 130, 3, true);
    }
    bottone.onEnterFrame = function() {
    	_root.easeIt("palla", palla._xscale, 30, 1);
    	_root.easeIt2("palla", palla._yscale, 30, 1);
    	prova = palla._xscale;
    	delete palla.onEnterFrame;
    };
    Unico modo che io conosca (suggeritomi qui) per ottenerlo (ho leggermente modificato il codice per adattarlo un pò, ad esempio, togliendo l'evento "onPress". Spero il non-funzionamento non dipenda proprio da questo....)
    Il risultato che ottengo è che non succede niente, cioè il movie prosegue come se la parte "elastica" non fosse stata aggiunta...
    Qualcuno mi suggerisce una strada, oppure una soluzione per quella che ho cercato di percorrere?

  2. #2

  3. #3
    Help!
    I am very disperated...
    Ho provated ancora ma nothing...

  4. #4
    Mi sa che stavolta o sono stato poco chiaro, oppure ho chiesto una cosa tosta...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.