Domanda

Sto facendo un quiz in ActionScript 2.0. Il quiz ha 8 domande. Ogni domanda ha quattro risposte e ogni risposta dà punti diversi. Su ogni fotogramma il loro è due domande a cui rispondere e poi passare a quella successiva due e così via.

Il mio problema è che ho bisogno di assegnare ad ogni risposte con i punti che alla fine saranno calcolati e in base al numero di punti invia all'utente di diversi messaggi (frame).

Il mio codice finora è il seguente:

// create an array of all nav buttons in group
var groupinfo:Array = [q1a1, q1a2, q1a3, q1a4];

// create a variable to track the currently selected button
var activebtn:MovieClip;

// doRollOver: start the rollover action or process, 
// unless the button is currently selected
function doRollOver() {
   if (this != activebtn) {
      this.gotoAndPlay(2);
   }
}

// doRollOut: start the rollout action or process, 
// unless the button is currently selected
function doRollOut() {
   if (this != activebtn) {
      this.gotoAndPlay(1);
   } 
} 

// doClick: 1) return previously selected button to normal, 2) show visual 
// indication of selected button, 3) update activebtn
function doClick() {
   activebtn.gotoAndPlay(1);       // return previously selected to normal

   delete this.onEnterFrame;               // stop activity on selected mc

   activebtn = this;                      // update pointer to current selection
}

// assign functions to each event for each button in the group
function init() {
   for (var mc in groupinfo) {  
      groupinfo[mc].onRollOver = doRollOver;
      groupinfo[mc].onRollOut = doRollOut;
      groupinfo[mc].onRelease = doClick;
   }
}

init();

Questo codice si occupa dello stato attivo per le risposte su ogni pagina. Il problema successivo è quando si spostano tra i fotogrammi questi stati non sono ricordati, ma azzerate.

///////////////////////////// Files: //////////////// /////////////

http://www.danielwestrom.se/quiz/quiz.html - demo live

Modifica HTML alla .zip per i file di progetto

Grazie!

È stato utile?

Soluzione

Non è best practice, ma utilizzare un globale per memorizzare i risultati. Una matrice globale per esempio.

Si potrebbe anche usare una classe per memorizzare tutti i tuoi punteggi, ma come avete il codice nel file FLA, vorrei solo usare un globale.

Altri suggerimenti

È necessario disporre di una matrice memorizzare tutte le risposte degli utenti. All'inizio di ogni frame, retreive le risposte degli utenti e mettere la selezione dell'utente indietro di gotoAndStop (2) del pulsante cuore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top