Forum Flash, Actionscript, PHP e MySQL
ridimensionamento foto in ciclo for

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side
Precedente  Successivo 
Autore Messaggio
ARIELE
principiante
principiante



Registrato: 22/10/04 18:59
Messaggi: 65
Località: LIVORNO

MessaggioOggetto: ridimensionamento foto in ciclo for
Inviato: 01.11.04 | 20:09
Rispondi citando

Ciao Coach...ho ancora bisogno dei tuoi preziosi consigli....il mio problema è sempre la galleria fotografica, dopo esser riuscito a posizionare le foto e caricarene il numero da un file txt esterno, vorrei riuscire a fare in modo che le foto caricate siano quelle a dimensioni normali ( e non delle miniature) che poi ridimensiono tramite script..
Ora dal mitico Rempox ho preso uno script di ridimensionamento e l'ho inserito all'interno del mio ciclo...ma ahimè non funziona:
 
Codice:
dati = new LoadVars();
dati.onLoad = function(success) {
    if (success) {
        z = 0;
        k = 0;
        for (i=1; i<this.vocals; i++) {
            createEmptyMovieClip("clip"+i, i+10);
            mc = eval(_root["clip"+i]);
            mc._x = 100*i-100+i*10-z*550;
            mc._y = k*100;
            mc.loadMovie("foto/vocals/vocals_"+i+".jpg");

            // calcolo con l'enter Frame le dimensioni originali
            this.onEnterFrame=function(){

                if (mc.getBytesLoaded()>1024 && mc.getBytesLoaded() == mc.getBytesTotal()) {

                    // calcolo dimensioni originali
                    mc.larg=mc._width
                        mc.alt=mc._height

                    // chiamo la funzione di re-dimensionamento
                    dimensiona(mc.larg, mc.alt)

                    // cancello enterframe
                        delete this.onEnterFrame
                    }
                }

            if (i%5 == 0) {
                k++;
                z++;
            }
        }
    }
};

function dimensiona(larg, alt){
    mc._xscale = Math.floor(10000/larg)
    mc._yscale = Math.floor(10000/alt)
    mc._alpha = 0;
                }

dati.load("foto/vocals/vocals.txt");


Puoi dirmi dove sbaglio...così non me lo considera nemmeno il ridimensionamento delle foto...appaiono grandi.
Torna in cima
Profilo Messaggio privato   MSN Messenger Skype
Sponsor
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 03.11.04 | 11:27
Rispondi citando

a prima vista direi che manca il punto e virgola dopo :

// calcolo dimensioni originali
mc.larg=mc._width
mc.alt=mc._height
Torna in cima
Profilo Messaggio privato   MSN Messenger
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 03.11.04 | 11:29
Rispondi citando

e ora che guardo meglio direi che ne mancano parecchi i ngiro di ; hehe
Torna in cima
Profilo Messaggio privato   MSN Messenger
dioz
moderatore
moderatore



Registrato: 13/01/04 12:53
Messaggi: 215
Località: Roma

MessaggioOggetto:
Inviato: 03.11.04 | 13:01
Rispondi citando

dubito che sia colpa del punti e virgola, in as non sono obbligatori come in altri linguaggi, ora non ho molto tempo e non posso analizzare il codice a fondo ma il problema non è sicuramente quello

Wink

____________________________________________________________

Be Original: Julay Sviluppo Web
Torna in cima
Profilo Messaggio privato   HomePage
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 04.11.04 | 12:21
Rispondi citando

ok,
allora un errore è quello della funzione "this.onEnterFrame",
inserita in quel contesto , è cioè all'interno della funzone onload della load var , il this si riferisce all'oggetto load vars e quindi non si può usare un enterframe, quindi ti conviene creare un _root.enterframe, o _parent , oppure altro clip che desideri, di consegueza cambiare anche il percorso relativo a mc.getbytesloaded e total all'interno della funzione stessa..
ciao ciao
Torna in cima
Profilo Messaggio privato   MSN Messenger
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 04.11.04 | 13:14
Rispondi citando

nel momento in cui tu usi il loadMovie, mc viene distrutto e ricreato, quindi finchè l'immagine nn viene caricata del tutto, non potrai ricavare nessuna delle proprietà di mc, quindi niente getBytesTotal(), getBytesLoaded(), _width, _heigth...etc...
____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 04.11.04 | 18:31
Rispondi citando

non proprio... diciamo che alcune cose si possono fare mentr esi stra ancora caricando, altre no..
per esempio :
il getbytesloaded e getbytestotal si possono fare (altimenti a che servono Tu Ta Ta )
mentre invece, width e heigth no
anche dichiarare una funzione del tipo mc.onEnterFrame non si può fare fintanto che il clip non è completamente caricato
Torna in cima
Profilo Messaggio privato   MSN Messenger
ARIELE
principiante
principiante



Registrato: 22/10/04 18:59
Messaggi: 65
Località: LIVORNO

MessaggioOggetto:
Inviato: 04.11.04 | 22:56
Rispondi citando

ok ho capito ....effettivamente nello script che ho trovato veniva caricato l'originale e poi posizionata una copia ridimensionata....come posso ovviare a questo problema del caricamento???
Torna in cima
Profilo Messaggio privato   MSN Messenger Skype
ARIELE
principiante
principiante



Registrato: 22/10/04 18:59
Messaggi: 65
Località: LIVORNO

MessaggioOggetto:
Inviato: 04.11.04 | 23:30
Rispondi citando

ho provato a fare così:
 
Codice:
dati = new LoadVars();
dati.onLoad = function(success) {
    if (success) {
        z = 0;
        k = 0;
        for (i=1; i<this.vocals; i++) {
            _root.createEmptyMovieClip("clip"+i, i+10);
            mc = eval(_root["clip"+i]);
            mc._x = 100*i-100+i*10-z*550;
            mc._y = k*100;
            mc.loadMovie("foto/vocals/vocals_"+i+".jpg");
            mc._alpha = 0;
            _root.onEnterFrame = function() {
                if (mc.getBytesLoaded()>1024 && mc.getBytesLoaded() == mc.getBytesTotal()) {
                    mc.larg = mc._width;
                    mc.alt = mc._height;
                    dimensiona(mc.larg, mc.alt);
                    delete this.onEnterFrame;
                }
            };
            if (i%5 == 0) {
                k++;
                z++;
            }
        }
    }
    function dimensiona(larg, alt) {
        mc._xscale = Math.floor(10000/larg);
        mc._yscale = Math.floor(10000/alt);
        mc._alpha = 0;
        mc.onEnterFrame = function() {
            if (this._alpha<100) {
                this._alpha += 20;
            } else {
                this._alpha = 100;
                delete this.onEnterFrame;
            }
        };
    }
};
dati.load("foto/vocals/vocals.txt");


ma mi appare solo una foto ridimensionata, la numero 2 .....
io penso che il problema stia nel ciclo perche ho provato senza caricare variabili e il problema è lo stesso.....help
Torna in cima
Profilo Messaggio privato   MSN Messenger Skype
magodellaneve
intermedio
intermedio



Registrato: 18/05/04 00:28
Messaggi: 184
Località: Verona

MessaggioOggetto:
Inviato: 05.11.04 | 01:10
Rispondi citando

secondo me il problema è che la prima immagine che si carica completamente cancella _root.onEnterFrame
per ovviare a ciò potresti creare un onEnterFrame x ogni clip che carichi, ma visto che non lo puoi creare all'interno dei clip stesso (x il fatto che l'enterframe si può fare solo a caricamento completato) ti suggerisco di creare un movie clip aggintivo x ogni imagine.. esempio :
dati = new LoadVars();
dati.onLoad = function(success) {
if (success) {
z = 0;
k = 0;
for (i=1; i<this.vocals; i++) {
createEmptyMovieClip("clip"+i, i+10);
mc = eval(_root["clip"+i]);
mc._x = 100*i-100+i*10-z*550;
mc._y = k*100;
mc.loadMovie("foto/vocals/vocals_"+i+".jpg");
_root.createEmptyMovieClip("clip_enterframe"+i, i+10);
_root["clip_enterframe"+i].onEnterFrame = function (){
if (mc.getBytesLoaded()>1024 && mc.getBytesLoaded() == mc.getBytesTotal()) {

// calcolo dimensioni originali
mc.larg=mc._width
mc.alt=mc._height

// chiamo la funzione di re-dimensionamento
dimensiona(mc.larg, mc.alt)

// cancello enterframe
delete this.onEnterFrame
this.removemovieclip();
}
}
if (i%5 == 0) {
k++;
z++;
}
}
}
};

function dimensiona(larg, alt){
mc._xscale = Math.floor(10000/larg)
mc._yscale = Math.floor(10000/alt)
mc._alpha = 0;
}

dati.load("foto/vocals/vocals.txt");

ora non ho tempo di testare il codice che ho scritto.. non so se funziona o se ci sono errori di ortografia... era x darti l'idea del concetto... prova e facci sapere Wink
ciauz
Torna in cima
Profilo Messaggio privato   MSN Messenger
ARIELE
principiante
principiante



Registrato: 22/10/04 18:59
Messaggi: 65
Località: LIVORNO

MessaggioOggetto:
Inviato: 05.11.04 | 16:48
Rispondi citando

mmmmmmmmmmm.....mi sa che sono + duro del previsto.... ho provato il tuo codice aggiungendo la funzione finale per farle apparire gradualmente...ma niente....

Se sia "clip i" che "clip_enterframe i" sono posizionati sul livello i+10 non appare nulla
se invece li posiziono su livelli diversi ( ad esempio rispettivamente i+9 e i+10) appaiono tutte grandi tranne l'ultima che si ridimensiona....

io cmq continuo a provare...
Torna in cima
Profilo Messaggio privato   MSN Messenger Skype
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

Discussioni Simili
Topic Autore Forum Risposte Ultimo Messaggio
Nessun nuovo messaggio Come realizzare questo clip: Effetto ... melkain ActionScript & Server Side 8 29.01.06 | 03:48 Leggi gli ultimi messaggi
melkain
Nessun nuovo messaggio onEnterFrame dentro ciclo for mesk8 ActionScript & Server Side 3 06.04.07 | 11:50 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio [AS2] onRelease dinamico in ciclo for 10k_dev Flash Generale 4 12.06.08 | 00:56 Leggi gli ultimi messaggi
10k_dev
Nessun nuovo messaggio [php] ciclo per controllare nomi doppi mesk8 PHP 8 08.11.07 | 13:42 Leggi gli ultimi messaggi
mesk8
Nessun nuovo messaggio problema di ridimensionamento p4r4n0|c ActionScript & Server Side 1 04.08.05 | 12:36 Leggi gli ultimi messaggi
Coach



 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005