Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Azione su MC duplicati

  1. #1

    Azione su MC duplicati

    Ciao a a tutti, utilizzo questo script per creare una galleria di immagini:

    codice:
    this.createEmptyMovieClip("immagine",200)
    
    posX = 750
    posY = 100
    for (inc=1;inc<10;inc++){
    	i=inc+100
    	cornice.duplicateMovieClip("cornbis"+i,i)
    	ret = this["cornbis"+i]
    	posX = posX + 70
    	if (inc%3==0){
    	        posY = posY + 70
    		posX = 750
    	}
    	ret._x = posX
    	ret._y = posY
    	ret.loadMovie("img_mini/"+inc+".jpg")
    	ret.onRelease = function(){
    		trace("pippo")
    		immagine.loadMovie("img_mini/"+inc+".jpg")
    	}
    }
    La parte di codice che non funziona è la function che attribuisco a ret.

    Io vorrei che cliccando sul MC ret(duplicato) mi venga aperta l'immagine grande contenuta in ret in un altro MC.

    Qualche consiglio?

    Ciao e grazie in anticipo per il sicuro aiuto
    http://www.puntoexewld.com

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    la parte dentro l'azione onRelease non và perchè l'onRelease dato in quella maniera determina la "creazione" di un riferimento al pulsante, perciò la variabile determinante, che nel tuo caso è 'inc', dovrà diventare un riferimento al clip da cui richiami l'azione, in codice:
    codice:
    this.createEmptyMovieClip("immagine",200)
    
    posX = 750
    posY = 100
    for (inc=1;inc<10;inc++){
    	i=inc+100
    	cornice.duplicateMovieClip("cornbis"+i,i)
    	ret = this["cornbis"+i]
    	posX = posX + 70
    	if (inc%3==0){
    	        posY = posY + 70
    		posX = 750
    	}
    	ret._x = posX
    	ret._y = posY
    	ret.loadMovie("img_mini/"+inc+".jpg")
    	ret.inc = inc;
    	ret.onRelease = function(){
    		trace("pippo")
    		immagine.loadMovie("img_mini/"+this.inc+".jpg")
    	}
    }

  3. #3
    Se ho capito bene con

    ret.inc = inc

    crei una variabile nel MC ret attribuendogli il valore di inc e poi utilizzi this.inc per richimarla.

    Giusto?

    Cmq ho provato ad aggiungere le due tue modifiche ma non funziona ancora, non mi fa apparire nemmeno il trace quindi sembrerebbe che non entra nella funzione!
    http://www.puntoexewld.com

  4. #4
    and80 ha ragione,
    nel senso che la creazione di una variabile x l'assegnazione del momentaneo inc, è perfetto, in quanto altrimenti al momento del release sul pulsante, il for sarebbe terminato e quindi inc sarebbe 10.

    Gli mc duplicati sono cliccabili?
    perchè seocndo me il problema può essere il loadMovie(), in quanto quando carichi un "qualcosa" in un mc, finchè questo "qualcosa" non viene caricato totalmente, qualsiasi variabile o dato relativo all'mc in questione nn esisterà +.

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da ut_scollegato
    Se ho capito bene con

    ret.inc = inc

    crei una variabile nel MC ret attribuendogli il valore di inc e poi utilizzi this.inc per richimarla.

    Giusto?

    Cmq ho provato ad aggiungere le due tue modifiche ma non funziona ancora, non mi fa apparire nemmeno il trace quindi sembrerebbe che non entra nella funzione!
    prova a cambiare ret = this["cornbis"+i] con ret = eval("cornbis"+i) e a mettere il percorso assoluto all'azione loadMovie nell'onRelease --> _root.immagine.loadMovie("img_mini/"+this.inc+".jpg")

  6. #6
    Quando lo provo non mi restituisce nessun trace mentre all'interno della funzione c'è, questo vuol dire che non entra nemmeno nella funzione!

    Quindi mi viene da pensare che il problema sia qui:

    ret.onRelease = function(){

    e non tanto nell'associazione della varibile che servirebbe poi all'apertura dell'immagine
    http://www.puntoexewld.com

  7. #7
    Originariamente inviato da ut_scollegato
    Quando lo provo non mi restituisce nessun trace mentre all'interno della funzione c'è, questo vuol dire che non entra nemmeno nella funzione!

    Quindi mi viene da pensare che il problema sia qui:

    ret.onRelease = function(){

    e non tanto nell'associazione della varibile che servirebbe poi all'apertura dell'immagine
    come ti ho scritto nella precedente risposta è x via del loadMvie()

    quindi dovresti applicare l'azione onRelease solamente DOPO del caricamento totale dell'immagine.

    es:
    codice:
    stop();
    _root.createEmptyMovieClip('a', 1);
    _root.a.loadMovie('iPod_nano.jpg');
    this.onEnterFrame = function(){
    	if(a.getBytesLoaded() >= a.getBytesTotal() && a.getBytesTotal() >4){
    		_root.a.onRelease = function(){
    			trace('ok');
    		}
    		delete this.onEnterFrame;
    	}
    }

  8. #8
    ok! togliendo il loadMovie appare il trace, adesso provo ad utilizzare il codice che mi hai postato per attribuire il loadmovie solo dopo il caricamento totale dell'immagine!
    http://www.puntoexewld.com

  9. #9
    bene!

    ...spero tu abbia capito anche il perchè della cosa

  10. #10
    Allora adesso il mio codice è questo:

    codice:
    this.createEmptyMovieClip("immagine",200)
    
    posX = 750
    posY = 100
    for (inc=1;inc<10;inc++){
    	i=inc+100
    	cornice.duplicateMovieClip("cornbis"+i,i)
    	ret = this["cornbis"+i]
    	
    	posX = posX + 70
    	
    	if (inc%3==0){
    		posY = posY + 70
    		posX = 750
    	}
    	ret._x = posX
    	ret._y = posY
    	ret.loadMovie("img_mini/"+inc+"_mini.jpg")
    	ret.inc = inc;
    	
    	this.onEnterFrame = function(){
    		if(ret.getBytesLoaded() >= ret.getBytesTotal()){
    			ret.onRelease = function(){
    				trace('ok');
    			}
    		delete this.onEnterFrame;
    		}
    	}
    	
    	
    	}
    Mi appare il trace solo sull'ultima immagine che si carica!
    http://www.puntoexewld.com

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.