Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [AS2] zoom img con as

  1. #1

    [AS2] zoom img con as

    Ciao a tutti,

    premettendo che ho già provato a fare numerose ricerche a riguardo, sto cercando una guida che tramite action script mi permettesse di fare un effetto zoommato su una foto, in pratica ciò che vorrei ottenere è un effetto zoom in (avvicinamento) di tutta l'area di una foto (non mi importa se è caricata dall'esterno oppure no).

    P.s.
    il metodo più semplice è quello con le interpolazioni ma durante la tranzizione fanno un tremolio da montagne russe..



    Ringrazio anticipatamente quanti vorranno aiutarmi.

  2. #2
    girando e rigirando ho trovato questo ma non mi soddisfa:

    import mx.transitions.*;
    import mx.transitions.easing.*;
    TransitionManager.start(mc, {type:Zoom, direction:Transition.IN, duration:1, easing:Elastic.easeOut})


    perchè la foto parte piccolissima per poi arrivare alle dimensioni reali,

    io invece dovrei fare che dalle dimensioni reali si zoommasse sono di un 10%

    help

  3. #3
    beh usa sempre le tween ed imposti tu il fattore di ingrandimento....

    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 !

  4. #4
    Ciao Crescenzo

    beh con le tween come faccio ad impostarlo?

    nel frattempo ho fatto in quest'altra maniera ma non mi soddisfa nemmeno questo perchè mi funziona come rollOver e rollOut, mentre io dovrei farlo funzionare onClipEvent

    codice:
    MovieClip.prototype.zoom = function(endScale, speed) {
    	this.onEnterFrame = function() {
    		var offset = 0.5;
    		var rscale = Math.abs(endScale-this._xscale);
    	if (!rscale<=offset) {
    		(this._xscale<endScale) ? (this._xscale=this._yscale += rscale/speed) : (this._xscale=this._yscale -= rscale/speed);
    	} else {
    		delete this.onEnterFrame;
    	}
    	};
    	};
    thumb.onRollOver = function() {
    	this.zoom(120, 3);
    	this.swapDepths(10);
    	};
    thumb.onRollOut = function() {
    	this.zoom(100, 7);
    	};
    ho provato a scrivere in questa maniera la parte in rosso ma non funzia:
    codice:
    thumb.onClipEvent = function() {
    	this.zoom(120, 3);
    	this.swapDepths(10);
    	};
    nell'output mi dice:

    codice:
    Dopo l'operatore '.' è previsto un nome di campo.
         thumb.onClipEvent = function() {
    se pensate sia + semplice il metodo con le tween vada per quello..

    anche perchè con quest'altro sistema ho notato un certo piccolo tremolio, avevo anche letto qua sul forum che questa cosa dipende dalle foto ci sono quelle che si adattano meglio e quelle no ma io in questo caso le foto devo mettere quelle per forza..

  5. #5
    beh prova con

    function zoom(mc, inizio, fine, tempo) {
    tipo = mx.transitions.easing.Strong.easeOut;
    muovix = new mx.transitions.Tween(mc, "_xscale", tipo, inizio, fine, tempo, true);
    muoviy = new mx.transitions.Tween(mc, "_yscale", tipo, inizio, fine, tempo, true);

    }

    x richiamarla
    zoom(sposta_mc, inizio, fine, 1);
    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 !

  6. #6
    anzitutto grazie..

    l'ho provato ma non sembra funzionare molto probabilmente perchè gli devo passare i parametri: inizio
    fine
    tempo
    facendo questo ragionamento è venuta fuori una cosa tipo questa (immagino un orrore):

    codice:
    inizio=100
    fine=120
    tempo=3
    function zoom(mc, inizio, fine, tempo) {
    tipo = mx.transitions.easing.Strong.easeOut;
    muovix = new mx.transitions.Tween(mc, "_xscale", tipo, inizio, fine, tempo, true);
    muoviy = new mx.transitions.Tween(mc, "_yscale", tipo, inizio, fine, tempo, true);
    
    }
    
    x richiamarla
    zoom(sposta_mc, inizio, fine, 1);
    abbi pazienza... grazie

  7. #7
    certo che devi inviargli i parametri alla funzione...
    x ottenere una cosa tipo
    http://www.leonardoinformatica.it/xforum/sposta/

    i pls sulla dx uno ingrandisce uno rimpicciolisce

    ora i parametri devi inserirli tu a seconda del zoom che vuoi ottenere o del clip su cui agire...il tempo..

    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 !

  8. #8
    risolto CODICE COMPLETO

    codice:
    function zoom(mc, inizio, fine, tempo) {
    tipo = mx.transitions.easing.Strong.easeOut;
    muovix = new mx.transitions.Tween(mc, "_xscale", tipo, inizio, fine, tempo, true);
    muoviy = new mx.transitions.Tween(mc, "_yscale", tipo, inizio, fine, tempo, true);
    
    }
    
    zoom(sposta_mc, inizio, fine, 1);
    onLoad
    {
        inizio = sposta_mc._xscale;
        fine = inizio + 30;
        if (inizio)
        {
            zoom(sposta_mc, inizio, fine, 3);
        } 
    }
    GRAZIE!!

  9. #9
    di niente figurati

    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 !

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.