Flash AS2测验,每个答案都有单独的点数

时间:2009-11-17 12:59:33

标签: flash actionscript-2 points

我正在使用Actionscript 2.0进行测验。 测验有8个问题。每个问题有四个答案,每个答案给出不同的观点。在每一帧上,他们都有两个问题要回答,然后继续下两个,依此类推。

我的问题是我需要为每个答案分配最终将计算的点数,并根据将用户发送到不同消息(帧)的点数。

到目前为止我的代码如下:

// 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();

此代码负责处理每页上答案的活动状态。 下一个问题是,在跨帧移动时,这些状态不会被记住,但会被重置。

/////////////////////////////文件://////////////// /////////////

http://www.danielwestrom.se/quiz/quiz.html - 现场演示

将.html更改为.zip以获取项目文件

谢谢!

2 个答案:

答案 0 :(得分:1)

这不是最佳做法,而是使用全局来存储这些结果。例如一个全局数组。

你也可以使用一个类来存储你的所有分数,但是当你在fla中有代码时,我只会使用全局。

答案 1 :(得分:1)

您需要一个存储所有用户答案的​​数组。在每个帧的开头,检索用户的答案并通过心脏按钮的gotoAndStop(2)将用户选择回来。