[AS3] -Ajout de fonctionnalité à un QCM+BDD

Caillia Messages postés 3 Statut Membre -  
Caillia Messages postés 3 Statut Membre -
Bonjour,

Je suis entrain de réaliser un QCM en flash en AS3, et j'aimerais pouvoir ajouter deux fonctionnalités à celui-ci qui serait les suivantes :

- Lorsque la réponse a été choisi et qu'on valide le choix par [suivant], qu'une animation se lance avant de donner accès à la prochaine question, avec donc 2 animations, une qui montrerait que la personne a répondu correctement à la question, ou l'inverse, qu'elle c'est trompé.

-La deuxième serait de savoir comment une fois arriver sur le dernier écran avec le total des bonnes réponses, il y est un champ d'inscription avec nom, prénom, adresse e-mail, permettant ensuite avec un bouton envoyer de sauvegarder, ces éléments informatif du joueur, ainsi que son score au QCM dans une base de donné.

Merci d'avance.

Je met ici le code AS3 des 3 frames :


1er Frame 

stop(); 

var scoreGlobal:Number=0 
var nombreQuestions:Number 

// Bouton Commencer 

btSuite.buttonMode = true; 
btSuite.alpha = 0.5; 
btSuite.mouseEnabled = false; 
btSuite.addEventListener(MouseEvent.MOUSE_DOWN,ecranSuivant); 
function ecranSuivant(evt:MouseEvent) { 
 nextFrame(); 
} 

// Chargement du XML 

var adresse = new URLRequest('qcm.xml'); 
var arbo:XML; 
var chargeur=new URLLoader(); 
chargeur.load(adresse); 

chargeur.addEventListener(Event.COMPLETE,donneesChargees); 
function donneesChargees(evt:Event) { 
 arbo = new XML(chargeur.data); 
 nombreQuestions = arbo.question.length() 
 btSuite.alpha = 1; 
 btSuite.mouseEnabled = true; 
} 



2eme Frame 

var numeroQuestion = 0;// Compteur de questions 
var nombreReponses:Number;// Variable pour mémoriser le nombre de réponses/Question 
var reponse:Reponse; 
var serieReponses:Array = new Array(); 
var valeurReponseCliquee:Number = 0; 


// Préparer une zone pour placer les réponses 
var reponses = new Sprite(); 
addChild(reponses); 

// Créer une première série de réponse 

creerEcran(); 

// Désactiver le bouton "Question Suivante"  

btQuestionSuivante.buttonMode = true;// Afficher le doigt (lorsque mouseEnabled sera sur true) 
btQuestionSuivante.alpha = 0.3; 
btQuestionSuivante.mouseEnabled = false; 


// Programmation bouton "Question Suivante" 

btQuestionSuivante.addEventListener(MouseEvent.MOUSE_DOWN,afficherQuestionSuivante); 
function afficherQuestionSuivante(evt:MouseEvent) { 
 scoreGlobal +=  valeurReponseCliquee; 
 valeurReponseCliquee = 0; 
 serieReponses = new Array(); 
 numeroQuestion++; 
 if (numeroQuestion >= nombreQuestions) { 
  removeChild(reponses); 
  gotoAndStop(3); 
 } else { 
  creerEcran(); 
 } 
} 

function creerEcran() { 

 // Effacer les réponses précédentes 

 removeChild(reponses); 
 reponses = new Sprite(); 
 addChild(reponses); 
 // Afficher la question suivante 
 question_txt.text = arbo.question[numeroQuestion].intitule; 

 // Compter le nombre de réponses à afficher 
 nombreReponses = arbo.question[numeroQuestion].reponse.length(); 

 // Afficher les reponses 
 for (var i=0; i<nombreReponses; i++) { 
  reponse = new Reponse(); 
  serieReponses.push(reponse); 
  reponses.addChild(reponse); 
  reponse.x = 50; 
  reponse.y = 150+(i*60); 
  reponse.text = arbo.question[numeroQuestion].reponse[i]; 
  reponse.etiquette_txt.text = arbo.question[numeroQuestion].reponse[i]; 
  reponse.btRadio.buttonMode = true; 
  reponse.btRadio.addEventListener(MouseEvent.MOUSE_DOWN,clicBoutonRadio); 
  reponse.btRadio.mouseChildren = false; 
  reponse.btRadio.valeurReponse = arbo.question[numeroQuestion].reponse[i].@val; 
 } 

} 

function clicBoutonRadio(evt:MouseEvent) { 
 //Réactiver le bouton "Question Suivante" 
 btQuestionSuivante.alpha = 1; 
 btQuestionSuivante.mouseEnabled = true; 
 valeurReponseCliquee = evt.target.valeurReponse; 

 for each (var rep in serieReponses) { 
  rep.btRadio.gotoAndStop(1); 
 } 

 MovieClip(evt.target).gotoAndStop(2); 
} 



3eme Frame 


if (scoreGlobal <= 1) { 
 resultat_txt.text = scoreGlobal.toString() + " bonne réponse"; 
} else { 
 resultat_txt.text = scoreGlobal.toString() + " bonnes réponses"; 
} 



Etape1
<a target="_blank" href="https://imageshack.com/"><img src="http://img534.imageshack.us/img534/9808/etape1f.th.jpg" border="0"/></a><br>

Etape2
<a target="_blank" href="https://imageshack.com/"><img src="http://img811.imageshack.us/img811/7983/etape2.th.jpg" border="0"/></a><br>

Etape3
<a target='_blank' href='http://img408.imageshack.us/i/etape3.jpg/'><img src='http://img408.imageshack.us/img408/4241/etape3.th.jpg' border='0'/></a>

Uploaded with <a target='_blank' href='http://imageshack.us'>ImageShack.us</a>

Cordialement, Caillia, et merci d'avance encore ;) en espérant ne pas mettre trompé de partie du forum pour poster.

1 réponse

Caillia Messages postés 3 Statut Membre
 
Un petit up...car toujours pas de réponse, et toujours un besoin, merci d'avance ;)
0