Creare un Quiz in Flash

16 06 2007

Oggi vedremo come creare un quiz con il componente radioButton di Flash.

Le nostre domande si svlogeranno tutte su determinati frame, in queso esempio ci saranno 4 domande, quindi 4 frame + 1, per avere un risultato con il conteggio di domande giuste e domande sbagliate.

Se non inseriremo una risposta verrà visualizzato un messaggio e non sarà possibile procedere oltre.

Per iniziare inseriamo sullo stage le risposte, tramite il componente radioButton, in questo caso per semplicità potremo rispondere solo SI o NO.

Inizializziamo le variabili giuste e sbaglaite a zero

_root.giuste = 0;
_root.sbagliate = 0;

Impostiamo il nome istanza, delle option, rispettivamente si e no, e cosa molto importante assegnamo il groupName uguale per tutte e due le prime option. Serve a indicare che le dimande appartengono allo stesso gruppo.

quiz.png

Sul pulsante andiamo a verificare se è stata inserita una risposta, e a seconda della domanda incrementeremo le risposte giuste o quelle sbagliate:

on (release) {
if ((si.value == false) && (no.value == false)) {
// se non ce nessuna risp
errore.play();
//errore
} else {
if (si.value) {
// se è SI
_root.sbagliate = _root.sbagliate+1;
// incremento le risposte sbagliaate
play();
// vado avanti
} else {
_root.giuste = _root.giuste+1;
// incremento le risposte giuste
play();
// vado avanti
}
}
}

A questo punto per realizzare altre domande, ci basterà copiare i medesimi radioButton, attenzione cambiando il groupName, che in questo caso diventerà radioGroup2 e cosi via.

Per quanto riguarda la pagina dei risultati, dovremo inserire due campi di testo dinamici, in questo caso di nome istanza giuste_txt e sbagliate_txt e inserire il seguente codice:

_root.giuste_txt.text = _root.giuste;
// scrivo nel campo il tot giuste
_root.sbagliate_txt.text = _root.sbagliate;
// scrivo nel campo il tot sbagliate

NB: In caso le vostre risposte fossero più di una, dovrete sempre eseguire una verifica sul value delle stesse, ovvero del loro valore. Se è true, vuol dire che è stata premuta, altrimenti sarà false.

Scarica il sorgente
Guarda il Tutorial


Azioni

Informazione

19 risposte

16 06 2007
Angela

sei un grandeeeeeeeeeeeeeeeeee;-)!!!!! e un tutorial su come realizzare una mappa che indichi le sezioni visitate ??? manca ;-) e farebbe proprio al caso mio!!!!!

16 06 2007
Julius

Grazie angela per quel tutorial vedrò di fare qualcosa ^_^

saluti

12 10 2007
sastgroup.com

[...] e sorgenti: http://juliusdesign.wordpress.com Share and Enjoy: These icons link to social bookmarking sites where readers can share and [...]

19 11 2007
.: DoC :.

Ciao Julius ti rompo le scatole anche qui, ma vorrei sapere se fosse possibile creare ( una volta terminato il quiz) un reinderizzamento a seconda delle domande risposte correttamente. es risposto a 10 su 10 va ad un frame, risposto a 6 su 10 ad un altro frame etc..

Grazie mille
Ciao ciao

19 11 2007
Julius

Basta crare una condizione con l’istruzione IF

se le domande sono 6 giuste vai a ….

altrimenti

20 11 2007
.: DoC :.

emmm :( sono proprio niubbo … riusciresti a postarmi un esempio? te ne sarei molto grato!

Ciao ciao

20 11 2007
Julius

Nell’ultimo frame trovi

stop();
_root.giuste_txt.text = _root.giuste;
// scrivo nel campo il tot giuste
_root.sbagliate_txt.text = _root.sbagliate;
// scrivo nel campo il tot sbagliate

quel codice serve a totalizzare i punteggi ma se vuoi che se sono state confermate 6 domande su 10 inserisci

if(_root.giuste>=6){
esegui un azione
}else{
altrimenti un'altra
}

20 11 2007
.: DoC :.

PERFETTO c’è l’ho fatta con i bottoni “radio” e funziona tutto alla grande! ora mi chiedevo è possibile sostituire i bottoni radio con dei classici pulsanti inventati da me? se si come?

Grazie mille

20 11 2007
.: DoC :.

HE he ( mi sa che mi sto incasinando la vita per niente ) cmq ora mi sto muovendo in questo modo ( ho fatto una prova rispettivamente: in caso di 3 risp. esatte vai al al frame x, in caso di 2 risp. esatte vai al frame xx, in caso di 1 risp. vai al frame xxx) e questo è quanto ho fatto ( ps non metterti a ridere pls ha ha ah :) ) :
if(_root.giuste>=3){
gotoAndPlay(5);
}else{
if(_root.giuste>=2){
gotoAndPlay(6);
}
}else{
if(_root.giuste>=1){
gotoAndPlay(7);
}
}
stop();

ma non va mi da continuamente un errore ( …riga7 —> Rilevato ‘else’ senza corrispondente ‘if’—> }else{ )

In poche parole quello che voglio provare a fare è: In caso di 10/10 risposte esatte ( vai al frame x ) , in caso di 8>9 risposte esatte ( vai al frame xx), in caso di 5>7 risposte esatte ( vai al frame xxx)

non so proprio come scrivere questa parte :( !

:) Grazie MIlle :)

22 11 2007
.: DoC :.

RISOLTO! :) :) :) con pazienza c’è l’ho fatta ora devo provare a far caricare le domande all’interno di singoli swf che a loro volta vengono caricati in un filmato madre ( _root) bha… chissà che casino ne fuoriesce hahaha

Ciao ciao

22 11 2007
.: DoC :.

unico problema rimasto è esattamente questo: devo eliminare i radio button e sostituirli con dei semplici bottoni, ma non riesco ad impostare il codice come faccio?

Grazie mille

22 11 2007
Julius

Se elimini le radio button devi cambiare tutta la logica ovviamente…

22 11 2007
.: DoC :.

uff allora mi arrendo … è una giornata che ci provo senza risultati. va bè grazie mille lo stesso.

PS continua così che sei un GRANDE :)

22 11 2007
.: DoC :.

EVVAI! smontando il codice all’interno del bottone avanti sono riuscito a creare i bottoni che mi servivano ed eliminare i radio Button! :P

CIAO CIAO

22 11 2007
5 02 2008
elena

Buongiorno, ho applicato quanto descritto ed ho realizzato il mio quiz.
Vorrei arrivare a 30 domande e visto che non sono facilissime , sarebbe bello avere una sorta di verifica o in ogni frame o nella pagina dei risultati, per aiutare, gli utenti. Purtroppo non ho dimestichezza con la programmazione e non riesco ad applicare qualcosa di valido.
Potrei avere un suggerimento su che tipo di codice usare?
Ringrazio per l’eventuale risposte. Saluti Elena

5 02 2008
Julius

avere una sorta di verifica o in ogni frame o nella pagina dei risultati, per aiutare, gli utente

in che senso?

In ogni pagina di domande vedere gia se l’hai scritta esatta o sbagliata?

5 02 2008
elena

Si in ogni frame avere un campo che ti dice ” esatto” oppure Sbagliato –
oppure nella pagine dei risultati finali qualcosa che faccia capire quali domande sono state cliccate esatte e quali sbagliate. In questo modo con 30 domande si facilita la ripetizione del quiz.
Saluti, Elena

8 02 2008
ada

non riesco a vedere iltutorial ed a scaeicare il sorgente,
saluti e grazie ada

Lascia un commento

Occorre aver fatto il login per inviare un commento