//这是第一帧的代码.其中lmc是一个loading影片
System.useCodepage = true;
//防止乱码
var myAID;
var myArrTit = new Array();
var myCont;
var myIndate;
///////////////以上四个y变量用来接收从ASP页面传来的信息数据
var myread:LoadVars = new LoadVars();
lmc.onEnterFrame = function() {
var lvBytesLoaded:Number = myread.getBytesLoaded();
var lvBytesTotal:Number = myread.getBytesTotal();
if (lvBytesTotal != undefined) {
lmc._xscale = lvBytesLoaded/lvBytesTotal*100;
}
};
myread.onLoad = function(success:Boolean) {
delete lmc.onEnterFrame;
if (success) {
myID = myread.id;
myArrTit = splitString(myread.tit);
myCont = myread.cont;
//myArrIndate = myread.indate;
_root.gotoAndPlay("su");
}
};
myread.load("read.asp");
//加载页面.
stop();
//这个函数用来把数据信息一个一个放进数组里.
function splitString(myData:String) {
var myArray:Array = new Array();
for (i=0; i<myData.length; i++) {
myArray = myData.split("#", i);
}
return myArray;
//用这个return来返回有数据的数组
}
///////////////////////////////////////////////////////////////////////////////
以下代码是帧"su"上的.
_global.answer = "";
var selNum:Number = myArrTit.length;
for (i=0; i<selNum; i++) {
this.attachMovie("aa", "aa"+i, i);
//复制问题的答案MC
this["aa"+i].tit.text = myArrTit[i];
//问题的答案赋到文本给显示出来
this["aa"+i]._x = 220;
this["aa"+i]._y = 190+20*i;
this["r"+(i+1)]._x = 5;//设置单选按钮的位置
this["r"+(i+1)]._y = 103+20*i;
}
con.text = myCont;//把问题显示出来.
stop();
在提交按钮上的代码为on (click) {
_root.gotoAndStop("add");
}
在单选按钮上代码都是一样的.
on (click) {
_global.answer = this.data;
}
/////////////////////////////////////////////////////////////////
以下是提交后跳到帧"add"要执行的代码
var ok:Boolean = false;
aaa.text = myID;
import mx.controls.Alert;
// 当答案为空的时候就会触发那个提示框的动作了.
if (answer == undefined or answer == "") {
var myClickHandler:Function = function (evt_obj:Object) {
switch (evt_obj.detail) {
case Alert.OK :
_root.gotoAndStop("su");
break;
}
};
// 显示对话框。
Alert.show("你还没有选答案!请返回", "错误", Alert.OK, this, myClickHandler);
}
for (i=0; i<selNum; i++) {
_root["aa"+i].unloadMovie();
}
var myWriteLoad:LoadVars = new LoadVars();
var myBackLoad:LoadVars = new LoadVars();
myWriteLoad.answer = answer;
myWriteLoad.id = myID;
myBackLoad.onLoad = function(S) {
if (S) {
ok = myBackLoad.ok;
//接收从write.asp传来的数据中OK的值.假如为真.那就是说数据已经被接收传字
if (ok) {
_root.gotoAndStop("show");
}
}
};
myWriteLoad.sendAndLoad("write.asp", myBackLoad, "POST");
stop();
////////////////////////////////////////////////////////////////
帧show里有一个文本用来显示你刚刚选择的答案
_root.showan.text = myArrTit[answer];
呵呵..完工了.