Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603

    Passaggio tra scene...errore stranissimo!

    Ciao a tutti, ho un problema stranissimo...
    Ho un filmato con 2 scene....nella seconda scena ho un pulsante con un semplice
    on (release) {
    gotoAndPlay("Scena 1", 1);
    }

    Ma cliccandoci sopra torna si alla scena principale ..ma rimane sovrapposta anche la scena dov'ero.....
    com'è possibile???? Ho provato sia mettendo _root sia dandogli il numero di fotogramma...insomma in tutti i modi ma il problema rimane....

  2. #2

    Re: Passaggio tra scene...errore stranissimo!

    Originariamente inviato da gnola
    Ciao a tutti, ho un problema stranissimo...
    Ho un filmato con 2 scene....nella seconda scena ho un pulsante con un semplice
    on (release) {
    gotoAndPlay("Scena 1", 1);
    }

    Ma cliccandoci sopra torna si alla scena principale ..ma rimane sovrapposta anche la scena dov'ero.....
    com'è possibile???? Ho provato sia mettendo _root sia dandogli il numero di fotogramma...insomma in tutti i modi ma il problema rimane....
    strano davvero se cambi scena come fa a restare quella precedente a meno che nn si carichi qualche altra scena di un filmato che richiami nel principale
    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 !

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    Mi viene in mente solo un caso in cui mi aspetterei una cosa simile:

    Hai per caso usato LoadMovieNum?

    Perché se hai caricato un filmato su un livello, il filmato esiste finché esiste il livello...
    Faccio un esempio...

    Sulla scena 2 inserisco
    codice:
    loadMovieNum("miofilmato.swf", 1);
    e da quel momento il contenuto di miofilmato.swf sarà visibile sul livello 1 (o su un altro livello, dipende dal numero evidenziato in rosso), non importa se mi sposto da una scena all'altra.


    Se ho indovinato, la soluzione del problema è semplicissima: basta cambiare l'azione del filmato in questa qui sotto:
    codice:
    on (release) {
    	unloadMovie(_level1);
    	gotoAndPlay("Scena 1", 1);
    }
    Che, prima di spostare la riproduzione alla scena 1, elimina (unloadMovie) il contenuto del livello 1

    Fammi sapere se il problema è questo, io intanto penserò ad altre possibili cause...

  4. #4
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    Allora...in pratica jollyfish potrebbe essere quello che dici tu...in quella scena ho un codice un pò complicato preso dalla rete ed adattato alle mie esigenze, che mi visualizza una gallery di immagini dinamiche prese da una cartellina.....ho provato a fare come dici tu ma non è cambiato nulla...comunque il codice è questo:


    // creo movieClip box \\
    this.createEmptyMovieClip("box",0);
    box._x = 18;
    box._y = 28;
    // creo la maschera \\
    this.createEmptyMovieClip("mask",1);
    with(mask){
    beginFill(0xFF0000,0);
    moveTo(0,0);
    lineStyle(0,0x000000,190);
    lineTo(670.6,0);
    lineStyle(0,0x000000,190);
    lineTo(670.6,190);
    lineStyle(0,0x000000,190);
    lineTo(0,190);
    lineStyle(0,0x000000,190);
    lineTo(0,0);
    _x = 18;
    _y = 28;
    }
    // setto la maschera \\
    box.setMask(mask);

    this.createTextField("caricamento",2,20,330,210,25 );
    caricamento.type="Dynamic"
    caricamento.selectable = false;
    myformat = new TextFormat();
    myformat.color = fxffffff;
    myformat.font = "Arial";
    myformat.size = 8;
    caricamento.text = "";
    caricamento.setTextFormat(myformat);




    // prendo in input i dati dal txt \\
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function() {
    if (Number(this.num_pic)<1) {
    trace("non esistono foto");
    } else {
    posizionaFoto(Number(this.num_pic));
    }
    };
    /////////////////// FUNCTION POSIZIONA FOTO ////////////////////////////
    function posizionaFoto(maxfoto) {
    // da qui in poi serve solo a creare clip allineati 4*4 per più pagine \\
    pagine = Math.ceil(maxfoto/24);





    startpic = 1;
    var count = 0;
    for (j=0; j<pagine; j++) {
    for (k=0; k<=2; k++) {
    for (i=0; i<=7; i++) {
    count++;
    nomeclip = "pic"+count;
    box.createEmptyMovieClip(nomeclip, count+10);
    mc = eval(box[nomeclip]);
    mc._x = 87*i+670.6*j;
    mc._y = k*87;
    }
    }
    }

    trace (pagine);
    trace (startpic);

    if (startpic == pagine)
    {
    avanti._visible = 0;
    }
    else{
    avanti._visible = 1;
    }




    // Fine allineamento
    i = 1;
    mc = eval(box["pic"+i]); //salvo il percorso del singolo movieClip
    img = "img/foto/location/location"+i+".jpg"; // costruisco il percorso dell'immagine
    mc.loadMovie(img); //carico l'immagine nel movieClip
    caricamento.text = "CARICAMENTO FOTO" + i + " IN CORSO...";
    this.onEnterFrame = function() {
    //caricamento._visible = !caricamento._visible;
    // entro nell'evento EnterFrame e controllo se l'immagine nel mc è stata caricata
    if (mc.getBytesLoaded()>1024 && mc.getBytesLoaded() == mc.getBytesTotal()) {
    mc.larg = mc._width; //salvo la larghezza dell'img
    mc.alt = mc._height; //salvo l'altezza dell'img
    mc.img = img; // salvo il percorso dell'immagine
    xscala = Math.floor(5100/mc._width);
    yscala = Math.floor(5100/mc._height);
    mc._xscale = xscala+2.7;
    mc._yscale = yscala+1;
    mc._alpha = 0;
    mc._visible = 1;
    mc.onEnterFrame = function(){ // enterFrame per aumentare gradualmente l'alpha dell'immagine caricata
    if(this._alpha < 100){
    this._alpha+=20;
    } else {
    this._alpha = 100;
    this.onRelease = function(){
    this.premuto(this.img,this.img,'');
    }
    delete this.onEnterFrame;
    }
    }
    i++;
    if (i<maxfoto) {
    mc = eval(box["pic"+i]);
    img = "img/foto/location/location"+i+".jpg";
    mc.loadMovie(img);
    caricamento.text = "CARICAMENTO FOTO " + i + " IN CORSO...";
    } else {
    caricamento.removeTextField();
    delete this.onEnterFrame;
    }
    }
    };
    }
    //////// CARICA DATI DA TXT ///////////
    dati.load("img/foto/location/elenco_img.txt");




  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    Allora è risolto!!!

    Tutto quello che devi fare è cancellare il box che contiene tutte le miniature e la sua maschera, chiamata mask.

    Puoi farlo fare direttamente al pulsante, aggiungendo le istruzioni in rosso:
    codice:
    on (release) {
    	box.removeMovieClip();
    	mask.removeMovieClip(); 
    	gotoAndPlay("Scene 1", 1);
    }
    In questo modo, prima di spostare la riproduzione alla prima scena ci liberiamo di quello che non ci serve, tanto, una volta che saremo tornati alla scena 2 tutti gli elementi verranno ricreati da capo...

  6. #6
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    CIao jollyfish....sono riuscita a farlo funzionare con il tuo codice....però ho dovuto aggiungere un'altra riga perchè in pratica le foto della gallery si cancellavano ma rimaneva visibile il MC della griglia delle foto (ogni foto aveva un bordino quindi avevo creato una griglia di 20 quadratini dentro i quali caricavo le foto)

    Quindi seguendo il tuo codice ho aggiunto anche
    griglia_mc.removeMovieClip();

    Ma fammi capire...in pratica non si è mai in un'altra scena....flash le gestisce come se fosse una unica??? non lo sapevo...

    Grazie mille per l'aiuto!!
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    Sono contento che tu abbia risolto...

    Per quanto riguarda le scene, servono solo a dare ordine al filmato e a renderlo più gestibile soprattutto per le animazioni molto lunghe. In realtà il filmato è uno solo e puoi vederlo quando in anteprima visualizzi il "profilo ampiezza banda".

    Questa linea temporale principale si chiama _level0. Esistono livelli superiori a questo ma non livelli inferiori.
    Per ottenere una reale divisione in scene indipendenti dovresti lavorare su file SWF diversi e poi caricarli uno alla volta sul livello 0, ma non è un sistema consigliabile: si perdono ad ogni passaggio tutti gli elementi sullo stage, quelli nella libreria, le variabili e non so cos'altro, perché l'SWF caricato sostituisce totalmente l'SWF precedente.

  8. #8
    Originariamente inviato da jollyfish
    Sono contento che tu abbia risolto...

    Per quanto riguarda le scene, servono solo a dare ordine al filmato e a renderlo più gestibile soprattutto per le animazioni molto lunghe. In realtà il filmato è uno solo e puoi vederlo quando in anteprima visualizzi il "profilo ampiezza banda".

    Questa linea temporale principale si chiama _level0. Esistono livelli superiori a questo ma non livelli inferiori.
    Per ottenere una reale divisione in scene indipendenti dovresti lavorare su file SWF diversi e poi caricarli uno alla volta sul livello 0, ma non è un sistema consigliabile: si perdono ad ogni passaggio tutti gli elementi sullo stage, quelli nella libreria, le variabili e non so cos'altro, perché l'SWF caricato sostituisce totalmente l'SWF precedente.
    ma no vedi bene che nn è così

    ANZI
    si preferisce nn usare le scene proprio xchè alla fine anche se hai 30 scene il filmato sarà unico e quindi la dimensione sarà quella delle 30 scene
    di fatto si preferisce usare file esterni le variabili nn si perdono altrimenti saremmo inguaiati noi sviluppatori e poi caricare file eserni su altri livelli nn è vero che sostituiscono il precedente solo nel caso in cui si caricano sullo stesso livello
    ad es ho il principale carico il secondo al livello 1 ed il terzo al livello 2 e nn viene sostituito niente
    x le variabili è la stessa cosa puoi recuperare tranquillamente varibili definite su altri livelli in questo modo

    _levelN.nomevariabile

    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 !

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    195
    ...eppure sono convinto di essermi espresso in modo abbastanza chiaro, e in italiano!

    Mi rileggo per sicurezza:
    Per quanto riguarda le scene, servono solo a dare ordine al filmato e a renderlo più gestibile soprattutto per le animazioni molto lunghe. In realtà il filmato è uno solo e puoi vederlo quando in anteprima visualizzi il "profilo ampiezza banda".
    Che significa che non importa quante scene hai, il filmato è unico... mi sembra esatto.


    Questa linea temporale principale si chiama _level0. Esistono livelli superiori a questo ma non livelli inferiori.
    Anche questo mi sembra esatto.


    Per ottenere una reale divisione in scene indipendenti dovresti lavorare su file SWF diversi e poi caricarli uno alla volta sul livello 0,
    Se carico sul livello 0 sostituisco il filmato principale... si, mi sembra che vada bene.


    ma non è un sistema consigliabile: si perdono ad ogni passaggio tutti gli elementi sullo stage, quelli nella libreria, le variabili e non so cos'altro, perché l'SWF caricato sostituisce totalmente l'SWF precedente.
    Caricando contenuti che sostituiscono il filmato principale perdo gli elementi del filmato precedente... ne sono abbastanza convinto.


    Quando inserisco una citazione in un mio intervento su un forum, mi assicuro di aver letto bene il contenuto di quello che cito.
    No, questo forse non l'ho scritto... ma mi sembra abbastanza corretto.

  10. #10
    senti nn voglio stare li acorreggere quello che dici e a fare il tipo pedante e magari potrei sembrare anche antipatico
    ma
    ma non è un sistema consigliabile : si perdono ad ogni passaggio tutti gli elementi sullo stage, quelli nella libreria, le variabili e non so cos'altro, perché l'SWF caricato sostituisce totalmente l'SWF precedente.
    nn è affatto vero
    nn è una questione di convinzione ma la realtà

    cmq se ne sei convinto contento tu contento tutti!

    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.