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.

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
ABC, Flash, Quiz, Sviluppo, Tutorial

tag abilitati: <code> </code> | <a href=""> </a> | <b> </b> | <i> </i>
Angela
16 Giugno 2007 alle 14:29 pm
sei un grandeeeeeeeeeeeeeeeeee;-)!!!!! e un tutorial su come realizzare una mappa che indichi le sezioni visitate ??? manca
e farebbe proprio al caso mio!!!!!
Julius
16 Giugno 2007 alle 21:41 pm
Grazie angela per quel tutorial vedrò di fare qualcosa ^_^
saluti
sastgroup.com
12 Ottobre 2007 alle 12:27 pm
[...] e sorgenti: http://juliusdesign.wordpress.com Share and Enjoy: These icons link to social bookmarking sites where readers can share and [...]
.: DoC :.
19 Novembre 2007 alle 18:37 pm
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
Julius
19 Novembre 2007 alle 22:13 pm
Basta crare una condizione con l’istruzione IF
se le domande sono 6 giuste vai a ….
altrimenti
…
.: DoC :.
20 Novembre 2007 alle 16:23 pm
emmm
sono proprio niubbo … riusciresti a postarmi un esempio? te ne sarei molto grato!
Ciao ciao
Julius
20 Novembre 2007 alle 17:10 pm
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
}
.: DoC :.
20 Novembre 2007 alle 18:47 pm
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
.: DoC :.
20 Novembre 2007 alle 19:30 pm
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 
.: DoC :.
22 Novembre 2007 alle 10:04 am
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
.: DoC :.
22 Novembre 2007 alle 12:52 pm
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
Julius
22 Novembre 2007 alle 12:54 pm
Se elimini le radio button devi cambiare tutta la logica ovviamente…
.: DoC :.
22 Novembre 2007 alle 15:06 pm
uff allora mi arrendo … è una giornata che ci provo senza risultati. va bè grazie mille lo stesso.
PS continua così che sei un GRANDE
.: DoC :.
22 Novembre 2007 alle 18:12 pm
EVVAI! smontando il codice all’interno del bottone avanti sono riuscito a creare i bottoni che mi servivano ed eliminare i radio Button!
CIAO CIAO
Julius
22 Novembre 2007 alle 18:40 pm
Matteo
24 Giugno 2008 alle 12:52 pm
Ciao julius,
volevo chiederti se potevi spiegarmi esattamente la parte di codice in cui hai scritto errore.play() perchè no nsu come funzioni o come farla funzionare.
grazie mille