Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Passare variabili da una classe all'altra

    Salve,
    sto realizzando un giochino a punteggio per bambini.
    Il gioco prevede diversi step (altrettanti giochi), concatenati fra di loro. Io pensavo che al termine di ogni gioco potrei richiamare l'swf successivo con la sua relativa document Class.
    Alla fine del percorso ci sarà una tabella riassuntiva che prevede la compilazione in runtime delle risposte esatte e di quelle sbagliate. Per fare ciò ho bisogno di passare, al termine di ogni mini-gioco, due variabili (risposte errate e risposte esatte) alla document class successiva, oppure ad una document class non legata ai singoli giochini. tale document class poi andrà a riempite di campi di testo dinamico dell'ultimo swf, quello con i punteggi.
    secondo voi è una cosa fattibile?
    come si fa a passare una variabile ad una classe esterna? grazie davvero!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Puoi utilizzare una classe Singleton per mantenere una serie di variabili senza la necessità di gestirne il passaggio ogni volta da un swf all'altro.
    Ho spiegato il concetto in quest'altro thread, anche se non è esattamente uguale, il concetto di base è lo stesso.

    http://forum.html.it/forum/showthrea...ight=singleton

  3. #3
    ciao, non essendo molto esperto non ho ben capito come fare per salvare in quella classe che tu hai creato determinate variabili..come passarle dall'swf in cui mi trovo... scusa...

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Mmh senza informazioni più chiare sul tuo lavoro non farei altro che ripetere quanto ho già scritto in quel thread, comunque una qualsiasi classe va salvata sotto forma di file con estensione .as e nome identico (anche le maiuscole e minuscole) a quello della classe e per semplicità ti converrà salvarlo nella stessa posizione dei FLA che la utilizzano.
    Se i FLA si trovano in posizioni diverse, la cosa diventa complessa, perché a quel punto bisognerà vedere in dettaglio tutta la situazione del tuo progetto.

  5. #5
    no il punto è questo, io ho diversi swf, ogni swf ha una propria classe esterna, ad esempio:

    - gioco1.swf e Gioco1.as
    - gioco2.swf e Gioco2.as
    - gioco3.swf e Gioco3.as
    etc...

    Io vorrei che al termine di ogni giochino, una funziona invii determinate variabili a una classe esterna o non so cosa, le memorizzi, e al termine dei vari giochini si apre un ulteriore swf con campi di testo dinamici da implementare con le variabili che ho passato in precedenza.

    Pensi che possa utilizzare la tua classe singleton? quindi una volta creata dovrei istanziarla dentro ogni classe dei vari giochini in questo modo:

    var main:MovieClip = Register.getInstance().main as MovieClip;

    ??

    e come faccio a inviare variabili a questa classe? grazie davvero per la pazienza.
    Al termine del lavoro se viene fatto bene potrei condividerlo non so.

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    La posizione degli SWF non è importante ai fini del nostro discorso, è importante quella dei FLA.
    Se i FLA si trovano tutti nella stessa cartella, allora il discorso con la singleton si può fare, altrimenti bisogna trovare una strada alternativa.

  7. #7
    sì sono tutti nella stessa cartella

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ok allora la cosa si può fare, però in questo caso il discorso è uguale al thread suggerito.
    Il codice che hai riportato prima a te non serve, devi crearti una variabile "score" o quello che vuoi, direi che può essere un Object, quindi nella prima classe farai:

    Codice PHP:
    Register.getInstance().SCORE = new Object();
    Register.getInstance().SCORE.esatte 5;
    Register.getInstance().SCORE.errate 1
    Proseguendo nelle altre probabilmente dovrai fare la somma, quindi farai direttamente

    Codice PHP:
    Register.getInstance().SCORE.esatte Register.getInstance().SCORE.esatte 5;
    Register.getInstance().SCORE.errate Register.getInstance().SCORE.errate 1
    E così via, finché nell'ultima classe deciderai come gestirti quei due valori che troverai sempre in quella maniera.

  9. #9
    Grazie per il tuo aiuto,
    ma alla fine, nell'ultimo swf come faccio a completare in runtime il campo di testo dinamico con la somma delle domande esatte ad esempio?

    punteggio.text="";

    .....

  10. #10
    ho provato in questo modo:

    var totale:String=Register.getInstance().SCORE.esatte;
    punteggio.text=totale;

    ma mi visualizza a video "a".... non capisco...

    comunque se nel secondo swf e nel terzo anche, non inserisco sempre
    Register.getInstance().SCORE = new Object();

    ma solo:

    Register.getInstance().SCORE.esatte = Register.getInstance().SCORE.esatte + 5;
    Register.getInstance().SCORE.errate = Register.getInstance().SCORE.errate + 1;

    mi da errore: Un termine risulta undefined e non ha proprietà.

    è normale?

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.