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.
21 Commenti
sei un grandeeeeeeeeeeeeeeeeee;-)!!!!! e un tutorial su come realizzare una mappa che indichi le sezioni visitate ??? manca ;-) e farebbe proprio al caso mio!!!!!
Grazie angela per quel tutorial vedrò di fare qualcosa ^_^
saluti
Pingback: sastgroup.com
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
Basta crare una condizione con l’istruzione IF
se le domande sono 6 giuste vai a ….
altrimenti
…
emmm :( sono proprio niubbo … riusciresti a postarmi un esempio? te ne sarei molto grato!
Ciao ciao
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
}
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
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 :)
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
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
Se elimini le radio button devi cambiare tutta la logica ovviamente…
uff allora mi arrendo … è una giornata che ci provo senza risultati. va bè grazie mille lo stesso.
PS continua così che sei un GRANDE :)
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
:)
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
Scusami ma come faccio a far rispondere in Maiuscolo o Minuscolo a mia discrezione???
scusami se vorrei creare un quiz con più risposte cm devo fare? io ho provato ma è un casino ti prego potresti aiutarmi
Ciao, prima di tutto tanto di cappello per il blog, secondo di tutto volevo chiederti se è possibile inviare i risultati del quiz a una mail e se si come potrei fare?
Grazie anticipatamente, ciao.
ciao julius, io ho un problema… sto lavorando con actionscript 2 e ho impostato lo script per navigare sopra un’immagine solo che appena inserisco un checkbox o un radiobotton non va la navigazione dell’immagine il codice usato per navigare la mappa è il seguente:
on (keyPress “”) {
if (_root.immagine._y<+2000) {
setProperty(_root.immagine, _y, _root.immagine._y+10);}
}
on (keyPress "”) {
if (_root.immagine._y>-2000) {
setProperty(_root.immagine, _y, _root.immagine._y-10);}
}
on (keyPress “”) {
if (_root.immagine._x<+2000) {
setProperty(_root.immagine, _x, _root.immagine._x+10);}
}
on (keyPress "”) {
if (_root.immagine._x>-2000) {
setProperty(_root.immagine, _x, _root.immagine._x-10);}
}
non riesco e capire per quale motivo si blocca questo script con l’inserimento dei componenti.
ma per AS3 come faccio a creare il RadioButton???