Visualizzazione dei risultati da 1 a 8 su 8

Discussione: loadMovie e variabili

  1. #1
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685

    loadMovie e variabili

    Ciao,
    qualcuno sarebbe così gentile da spiegarmi cosa si intende quando, nella guida di flash, spiegano il loadMovie in questa maniera?

    codice:
    loadMovie("url",livello/target[, variabili])

    Più precisamente vorrei sapere come passare delle variabili ad un oggetto, caricato con questo metodo, utilizzando quella sintassi.

    Grazie.
    FaX

  2. #2
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    Tutto è nato dal fatto che ho scoperto solo ora, che con il loadMovie, ci sono alcuni problemi con le variabili.

    Provate a fare questo:

    createvi un movieclip con un rettangolo; il primo lo chiamate "clip1" e il secondo "clip2";

    ora mettete questo codice nella timeline che contiene quelle due istanze:

    clip1.variabile_prova="nome1";
    clip2.variabile_prova="nome2";
    clip2.loadMovie("immagine.jpg"); // naturalmente bisogna caricare un'immagine reale

    Se mettete un rollOver ai due movieclip, noterete che quello dentro il quale viene caricata l'immagine perde la variabile; ma non è tutto: non riuscirete neanche a leggere altro dalle altre linee temporali.

    C'è un modo per ovviare a questo? Io ho bisogno di avere un evento rollOver e release sul movieclip con il loadMovie e potergli passare delle variabili.

    Le ho provate tutte. La cosa più incredibile è che se, negli eventi del movieclip del loadMovie, faccio un trace del _target me lo dà corretto ma se provo a leggere qualsiasi cosa, nelle altre linee temporali, utilizzando anche percorsi assoluti il risultato è sempre undefined.

    Indicatemi la via...
    FaX

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    quando si utilizza il movieclip, tutto ciò che un tempo era associato al movieclip, viene sostituito da ciò che viene caricato esternamente, per ovviare a questo "basta" adottare un piccolo trucchetto

    nel tuo clip ne crei uno nuovo dinamicamente e in quello ci fai il loadMovie, così il tuo clip principale rimane "intatto", prova tu stesso

    codice:
    var clip = _root.createEmptyMovieClip("vuoto",1);
    clip.createEmptyMovieClip("dentro",1);
    clip.dentro.loadMovie("immagine.jpg");
    clip.onRelease = function(){
    trace("Hello world!");
    }

  4. #4
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    GRANDE and80




    SENZA PAROLE
    FaX

  5. #5
    scusate se mi intrometto :
    con lo stesso procedimento cerco di inserire un attach movie all'interno di un altro movie ma non funziona. come mai?
    dov'è l'errore? perchè ci sarà!

    _root.createEmptyMovieClip("clop",1);
    clop.createEmptyMovieClip("vuoto",1);
    //
    for (var i = 0; i<Items.length; i++) {
    clop.vuoto = attachMovie('menu', 'menu'+i, i);
    clop.vuoto._alpha = 0;
    vlop.vuoto.onEnterFrame = function() {
    if (this._alpha<100) {
    this._alpha += 10;
    } else {
    delete onEnterFrame;
    }
    };
    ...
    tralascio tutto il resto, tanto il problema dovrebbe essere nel ciclo for

    grazie
    lucnerv@tin.it

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da maquina
    scusate se mi intrometto :
    [...]
    clop.vuoto.attachMovie('menu', 'menu'+i, i);


  7. #7
    Utente di HTML.it L'avatar di ilpiubello
    Registrato dal
    May 2000
    Messaggi
    2,685
    Presumo che tu voglia fare un menù...


    Veramente ci sono parecchi errori nel codice che hai scritto... il ciclo centra poco.

    codice:
    Items =new Array(10); // questo l'ho agginuto io per fare una prova
    
    _root.createEmptyMovieClip("clop",1); 
    clop.createEmptyMovieClip("vuoto",1); 
    // 
    for (var i = 0; i<Items.length; i++) {
    	clop.vuoto.attachMovie('menu', 'menu'+i, i); 
    	clop.vuoto._alpha = 0; 
    	_root.clop.vuoto["menu"+i]._y = 20*i; 
    	clop.vuoto.onEnterFrame = function() { 
    		if (this._alpha<100) { 
    			this._alpha += 10; 
    		} else { 
    			delete onEnterFrame; 
    		}
    	}
    };
    per prima cosa, l'attachMovie va concatenato al nome del clip e non utilizzando l'uguale; a parte qualche lettera sbagliata, un altra cosa che non avevi considerato è la posizione _y di tutti i clip creati con l'attachMovie.
    FaX

  8. #8
    grazie mille adesso funziona perfettamente,
    si sto cercando di lavorare un menu che ho trovato in giro...

    adesso il problema è un po' più in giù nello script
    all'interno dei movies che carico nel primo movie c'è un bottone e un altro movie che però non funziona più

    per esempio qui:

    clop.vuoto["menu"+i].bt.onRollOver = function() {
    path = _root[this._parent._name];
    path.barra.colorFade(barraOver[this._parent._name.substring(4)], .3);
    path.linea.colorFade(barraOver[this._parent._name.substring(4)], .3);
    tween = new mx.transitions.Tween(path.barra, '_width', Strong, path.barra._width, clip._width-path.item._width, 1, true);
    tween2 = new mx.transitions.Tween(path.item, '_x', Strong, path.item._x, path.linea._x-path.item._width, 1, true);
    };


    a quanto ho capito usando il trace non riconosce _root[this._parent._name]; e quindi path è undefined

    che casino sti movie uno dentro l'altro
    lucnerv@tin.it

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.