Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477

    funzione interna a mc duplicati

    Se ho un mc con una funzione al suo interno (che se non erro dovrebbe essere mantenuta anche nelle copie) perchè richiamando tale funzione in una copia del mc non viene richiamata???

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    tutti in ferie?

  3. #3
    Utente di HTML.it L'avatar di Rah99
    Registrato dal
    Mar 2002
    Messaggi
    42
    prova a postare il codice AS che hai sul tuo MC...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Ho semplicemente una funzione sulla timeline all'interno del mc...

    Il mc viene duplicato con un ciclo:

    codice:
    for (i=0; i<n; i++){
    duplicateMovieClip(mc, "mc"+i, i)
    this["mc"+i]._x=this.mc._x+(72*i)
    this["mc"+i].clip_foto.loadMovie("foto"+i+".jpg")
    this["mc"+i].preload()
    }
    in grassetto richiamo la funzione....ma non viene richiamata (ho verificato con trace)

  5. #5
    Utente di HTML.it L'avatar di Rah99
    Registrato dal
    Mar 2002
    Messaggi
    42
    prova a spostare la tua funzione dall'AS associato al movieclip all' AS sul frame sulla timeline:

    codice:
    function preload(nome) {
    	trace(nome);
    }
    e aggiungi subito dopo una cosa del genere:

    codice:
    for (i=0; i<n; i++) {
    	duplicateMovieClip(_root.mc, "mc"+i, i);
    	this["mc"+i]._x = this.mc._x+(72*i);
    	this["mc"+i].clip_foto.loadMovie("foto"+i+".jpg");
    //sull'EnterFrame del movieclip richiamiamo la funzione passandogli un valore, in questo caso il nome del movieclip appena creato
    	this["mc"+i].onEnterFrame = function() {
    //utilizzo la variabile "caricato"+i per verificare se non ho già caricato la funzione per quel movieclip
    		if (!this["caricato_"+i]) {
    //chiamo la funzione passandogli un parametro (il nome)
    			_root.preload(this._name);
    //setto la variabile = true in modo da non ripetere il caricamento della funzione
    			this["caricato_"+i] = true;
    		}
    //una volta caricata la funzione libero un po' di memoria cancellando l'onEnterFrame associato
    		delete this["mc"+i].onEnterFrame();
    	};
    }
    Spero ti possa essere d'aiuto.

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.