Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165

    mantenere i valori tra i frame.

    Salve, volevo fare una domanda, forse è stupida!
    E' possibile mantenere i valori delle variabili tra i vari frame e layer??
    Mi spiego meglio, vorrei fare un piccolo menu a tendina:
    - i valori dei link sono caricati da un file XML,
    - nel momento che si clicca su una freccetta del menu mi sposto ad un altro frame
    - nell'altro frame c'è la tendina abbassata
    - prendo la voce desiderata e torno al frame di partenza.

    Il valore selezionato dall'utente è presente in una variabile nel frame in cui c'è la tendina abbassata, posso riprenderlo nel file di partenza???

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165

    Re: mantenere i valori tra i frame.

    Originariamente inviato da WalterP
    Salve, volevo fare una domanda, forse è stupida!
    E' possibile mantenere i valori delle variabili tra i vari frame e layer??
    Mi spiego meglio, vorrei fare un piccolo menu a tendina:
    - i valori dei link sono caricati da un file XML,
    - nel momento che si clicca su una freccetta del menu mi sposto ad un altro frame
    - nell'altro frame c'è la tendina abbassata
    - prendo la voce desiderata e torno al frame di partenza.

    Il valore selezionato dall'utente è presente in una variabile nel frame in cui c'è la tendina abbassata, posso riprenderlo nel file di partenza???

    Grazie.
    Scusate volevo dire frame di partenza!!
    Quindi ricapitolando: inizializzo una variabile nel terzo frame di un layer, mi sposto al frame 1 dello stesso layer. ritroverò la variabile impostata nel frame 3 ????

    Grazie!

  3. #3
    certo che puoi basta inizializzare una variabile sul primo frame passaggi da fare
    crei un nuovo livello
    inizializzi una variabile in as2 es
    in questo caso è una stringa i caso vuoi un numero sostituisci "" con il calore 0.
    var miovalore="";
    dopo di che vai al fotgramma 2 dello stesso livello e inserisci un fotogramma in modo da far durare la "vita" della tua variabile per tutti e due i fotgrammi..

    dopo di che nel fotogramma 2 avrai un bottone nella tentina
    e quindi in modo semplice
    on(release){
    mia miovalore="scelta fatta";
    gotoAndStop(1);

    }
    in questo modo nel frame una avrai la var popolata con la scelta...

    spero di essere stato chiaro

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165
    hmmm, ho provato ma c'è qualche problema! Nel momento in cui fai la scelta la timeline torna al frame 1 dove c'è :
    codice:
     var miovalore="";
    quindi si perde il valore della variabile!!

    Comunque ho cambiato un po il tuo script ed ho fatto in questo modo (AS3) :

    FRAME 1
    codice:
    stop();
    var scelta;
    tendina.addEventListener(MouseEvent.CLICK, apri_tendina);
    trace (scelta);
    
    function apri_tendina(e:MouseEvent):void
    {
    	gotoAndStop(2);
    }
    FRAME 2
    codice:
    stop();
    but1.addEventListener(MouseEvent.CLICK, scelta1);
    but2.addEventListener(MouseEvent.CLICK, scelta2);
    but3.addEventListener(MouseEvent.CLICK, scelta3);
    
    function scelta1(e:MouseEvent):void
    {
    	var scelta="1";
    	gotoAndStop(1);
    }
    
    function scelta2(e:MouseEvent):void
    {
    	var scelta="2";
    	gotoAndStop(1);
    }
    
    function scelta3(e:MouseEvent):void
    {
    	var scelta="3";
    	gotoAndStop(1);
    }
    ma il trace del frame 1 mi da sempre valore "undefined" perchè??

    Grazie.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165

    [Risolto!]

    Originariamente inviato da WalterP
    hmmm, ho provato ma c'è qualche problema! Nel momento in cui fai la scelta la timeline torna al frame 1 dove c'è :
    codice:
     var miovalore="";
    quindi si perde il valore della variabile!!

    Comunque ho cambiato un po il tuo script ed ho fatto in questo modo (AS3) :

    FRAME 1
    codice:
    stop();
    var scelta;
    tendina.addEventListener(MouseEvent.CLICK, apri_tendina);
    trace (scelta);
    
    function apri_tendina(e:MouseEvent):void
    {
    	gotoAndStop(2);
    }
    FRAME 2
    codice:
    stop();
    but1.addEventListener(MouseEvent.CLICK, scelta1);
    but2.addEventListener(MouseEvent.CLICK, scelta2);
    but3.addEventListener(MouseEvent.CLICK, scelta3);
    
    function scelta1(e:MouseEvent):void
    {
    	var scelta="1";
    	gotoAndStop(1);
    }
    
    function scelta2(e:MouseEvent):void
    {
    	var scelta="2";
    	gotoAndStop(1);
    }
    
    function scelta3(e:MouseEvent):void
    {
    	var scelta="3";
    	gotoAndStop(1);
    }
    ma il trace del frame 1 mi da sempre valore "undefined" perchè??

    Grazie.
    nel frame 2 si devono togliere i "var". Altrimenti la variabile risulta essere locale al frame 2!

  6. #6
    scusami solo ora leggo il tuo posto.. è normale che devi togliere il var altrimenti ridichiari la variabile.. tu devi solo assagnarla..
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165
    ho un altro piccolo problema:
    ho riscritto gli script in maniera un po diversa e mi capita un errore strano:

    FRAME 1
    codice:
    stop();
    var scelta;
    
    valore.text = "----";
    valore.text = scelta;
    freccia.addEventListener(MouseEvent.CLICK, apri_tendina);
     
    //trace (scelta);
    function apri_tendina(e:MouseEvent):void
    {
    	gotoAndStop(2);
    
    }
    FRAME 2
    codice:
    stop();
    but1.addEventListener(MouseEvent.CLICK, scelta1);
    but2.addEventListener(MouseEvent.CLICK, scelta2);
    but3.addEventListener(MouseEvent.CLICK, scelta3);
    but4.addEventListener(MouseEvent.CLICK, scelta4);
    but5.addEventListener(MouseEvent.CLICK, scelta5);
    
    function scelta1(e:MouseEvent):void
    {
    	scelta="Affittacamere";
    	gotoAndStop(1);
    }
    
    function scelta2(e:MouseEvent):void
    {
    	scelta="Allestimento";
    	gotoAndStop(1);
    }
    
    function scelta3(e:MouseEvent):void
    {
    	scelta="Agriturismo";
    	gotoAndStop(1);
    }
    
    function scelta4(e:MouseEvent):void
    {
    	scelta="Camping";
    	gotoAndStop(1);
    }
    
    function scelta5(e:MouseEvent):void
    {
    	scelta="Catering";
    	gotoAndStop(1);
    }
    e mi da a runtime questo errore:
    codice:
    TypeError: Error #2007: Il valore del parametro text deve essere diverso da null.
    	at flash.text::TextField/set text()
    	at guida2_fla::tend_6/guida2_fla::frame1()
    perchè???

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.