Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Trasferire variabili: 2° quesito

    Salve a tutti. Volevo spiegare meglio il mio problema abbastanza complesso, penso che per risolverlo bisognerebbe avere basi solide nella conoscenza dell'actionscript (cosa che io non ho ancora).
    Vorrei trasferire una variabile da una scena all'altra in base alla decisione presa da un utente
    Ho un filmato, nella prima scena una combobox con due nomi: franco,giuseppe; una textArea con istanza "output" dove esce un risultato in base alla scelta dell'utente e un pulsante vai, nella seconda scena solo una textArea "output2" dove dovrebbe darmi un risultato di benvenuto in base alla scelta dell'utente.

    Nel 1° fotogramma questo script:

    (Prima Scena):
    // inizializzo il listener change

    ascolta = new Object();
    ascolta.change = function() {

    // dichiaro le variabili
    var nome = nominativo.selectedItem.label;

    // inizio ad impartire le condizioni
    if (nome == "giuseppe") {
    output.text = "ciao giuseppe";
    }
    if (nome == "franco") {
    output.text = "ciao franco";
    }

    };
    // evento listener
    nominativo.addEventListener("change", ascolta);

    var output1 = output.text

    (Seconda Scena)
    output2.text = output1 + " ,benvenuto";

    (Risultato: ciao giuseppe(/franco) ,benvenuto).
    Ma qualcosa non va, su output2, trovo scritto "undefined", questo è il risultato più apprezzabile dopo molte prove.
    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    // (Prima Scena):
    
    ascolta = new Object();
    ascolta.change = function()
    {
    	var nome = nominativo.selectedItem.label;
    	output1 = output.text = "ciao " + nome;
    };
    nominativo.addEventListener("change", ascolta);
    output1 = output.text
    
    // (Seconda Scena)
    output2.text = output1 + " ,benvenuto";

  3. #3
    Grazie Negatyve, ho provato ma non funziona.
    Mi da sempre "undefined", il problema non sta tanto nel impartire la condizione o stabilire il nome, ma nel trasferire la variabile in base alla scelta dell'utente, infatti se io faccio cosi:

    (Prima Scena):
    codice:
    output.text = "ciao a tutti";
    var output1 = output.text;
    
    // inizializzo il listener change 
    ascolta = new Object(); 
    ascolta.change = function() { 
    
    // dichiaro le variabili 
    var nome = nominativo.selectedItem.label; 
    
    // non infulisce
    
    ...
    ...
    
    }; 
    // evento listener 
    nominativo.addEventListener("change", ascolta);


    (Seconda Scena)
    codice:
    output2.text = output1 + " ,benvenuto";


    (Risultato: ciao a tutti ,benvenuto).

    quindi trasferendomi la variabile, ma se io lo metto nell'evento listener, legandolo ad una condizione impartita dall'utente pare che non riconosce la variabile, soprattutto nell'istruzione if e quindi col cambio dati.
    Grazie, ciao.

  4. #4
    Scusami negatyve, non ho molta dimestichezza coi forum, lo riscrivo:
    Grazie Negatyve, ho provato ma non funziona.
    Mi da sempre "undefined", il problema non sta tanto nel impartire la condizione o stabilire il nome, ma nel trasferire la variabile in base alla scelta dell'utente, infatti se io faccio cosi:

    (Prima Scena):

    codice:
    output.text = "ciao a tutti";
    var output1 = output.text;
    
    // inizializzo il listener change 
    ascolta = new Object(); 
    ascolta.change = function() { 
    
    // dichiaro le variabili 
    var nome = nominativo.selectedItem.label; 
    
    // non infulisce
    
    ...
    ...
    
    }; 
    // evento listener 
    nominativo.addEventListener("change", ascolta);
    (Seconda Scena)

    codice:
    output2.text = output1 + " ,benvenuto";
    (Risultato: ciao a tutti ,benvenuto).

    quindi trasferendomi la variabile, ma se io lo metto nell'evento listener, legandolo ad una condizione impartita dall'utente pare che non riconosce la variabile, soprattutto nell'istruzione if e quindi col cambio dati.
    Grazie, ciao.

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Non ho capito niente..

    L'evento "change" non viene mai scatenato?

  6. #6
    praticamente, se io metto l'output.text nell'evento change, nella seconda scena mi restituisce undefined;
    se io lo metto fuori dall'evento, mi restituisce la variabile output.text stabilita.
    Praticamente se io lascio selezionato nella combobox giovanni, mi dovrebbe apparire ciao giovanni, ma quando cambio scena, penso che mi da undefined, in quanto non riconosce il cambio variabile.
    Pensi che aggiungendo anche un evento listener al TextArea dovrei risolvere il probelma???
    Perdonami, penso di non essere stato abbastanza chiaro in quanto spiegare le cose non è mai stato il mio forte, mi affido alla tua pazienza e soprattutto al tuo intuito .
    Grazie, ciao

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Allora, così come ti ho scritto io l'esempio funziona, ma devi accertarti che:

    • i nomi di istanza siano tutti assegnati e corretti
    • che le due textarea, anche se in scene differenti, giacciano nella stessa timeline (ad esempio entrambe sulla root).

    Nel caso, prova così:

    codice:
    // (Prima Scena):
    
    ascolta = new Object();
    ascolta.change = function()
    {
    	var nome = nominativo.selectedItem.label;
    	_root.output1 = output.text = "ciao " + nome;
    };
    nominativo.addEventListener("change", ascolta);
    
    // (Seconda Scena)
    output2.text = _root.output1 + " ,benvenuto";

  8. #8
    Grazie nega, è questa la soluzione, purtroppo a volte la presunzione nasconde piccoli dettagli e ci fa diventare impulsivi.

    è giusto in tutti e due i casi, l'errore era qui:

    sbagliato
    output.text = "ciao franco";

    giusto
    output1 = output.text = "ciao " + nome;

    Quando si parla con un Maestro del Flash come te bisogna essere sempre sicuri
    Grazie, ciao.

  9. #9
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    ehehe, esagerato..

    ciao!

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.