FLASH8 as2.0 填空题成绩计算有问题但是不知道哪里不对,求解答,急用,谢谢~

是11个填空,每个空是输入文本框xt1-11成绩是动态文本框赋予变量cj,成绩总是显示为0,哪里有错呢?语句是在提交的按钮上。急用~on(release){if(xt1=... 是11个填空,每个空是输入文本框xt1-11 成绩是动态文本框赋予变量cj,成绩总是显示为0,哪里有错呢?语句是在提交的按钮上。急用~
on(release){
if (xt1 == "北海道") {
cj1 = 10;

} else {
cj1 = 0;

}
//第二题
if (xt2 == "本州") {
cj2 = 10;

} else {
cj2 = 0;

}
if (xt3 == "四国") {
cj3= 10;
} else {
cj3 = 0;

}
if (xt4 == "九州") {
cj4 = 10;
} else {
cj4 = 0;

}
if (xt5 == "关东平原") {
cj5 = 10;
} else {
cj5 = 0;

}
if (xt6== "富士山") {
cj6 = 10;
} else {
cj6= 0;

}
if (xt7 == "太平洋") {
cj7 = 10;
} else {
cj7 = 0;

}
if (xt8 == "日本海") {
cj8 = 10;
} else {
cj8 = 0;

}
if (xt9 == "中国") {
cj9 = 10;
} else {
cj9 = 0;
if (xt10 == "俄罗斯") {
cj10 = 10;
} else {
cj10 =0;

}
if (xt11 == "朝鲜") {
cj11=10;
} else {
cj11=0;

}

}
cj=cj1+cj2+cj3+cj4+cj5+cj6+cj7+cj8+cj9+cj10+cj11;
}
展开
 我来答
alanbabbage
2013-06-24 · TA获得超过979个赞
知道小有建树答主
回答量:755
采纳率:0%
帮助的人:1149万
展开全部

又是文本框的变量问题


话说,教学的老师是不是应该要说明一下文本框变量的问题?是否应该跟进时代,淘汰文本框变量的用法?至少说明一下适用性。


这位童鞋,使用的软件应该不是flash8,所以你的文本变量直接读取时(设置显示是没问题的),除了你看到的文本内容以外,还有其他的内容,所以,单用"北海道"来判断是永远不会对的。将你的输入文本变量改文本的实例名之后,使用文本的text属性来作判断,如

if (xt1.text == "北海道") {
cj1 = 10;
 
} else {
cj1 = 0;
 
}

(xt1为文本的实例名,不是变量)


或者你将代码放到软件flash 8里去(可以到哪个版本没有进行过测试,但8是行的)


最后,给你个建议,对于这种有规可循的算法可以用循环来计算哦,减少代码量,方便改变计算次数。如代码

on(release){
_root.answer = ["北海道","本州","四国","九州","关东平原","富士山","太平洋","日本海","中国","俄罗斯","朝鲜"];//只需添加删除更改值,即可决定计算的长度与对错
var score:Array = new Array();//这个是记录每题的得分详细情况,因为不知你是否需要使用
var num:Number=0;//这个只是单纯的计算总分数
for(var i:Number=1;i<=_root.answer.length;i++){//计算的长度决定于给出的答案answer的长度
if (_root["xt"+i].text == _root.answer[i-1]) {
num+=score[i] = 10;
}else{
num+=score[i] = 0;
}
}

cj = num;//cj为显示分数的文本框
}

如果考虑到性能问题,最好就将_root.answer这句移到帧上面去。还有需要注意的是_root的路径问题,如果你的文本框不是放到主场景上的,则需要修改路径。


建议将代码写到帧上面去,一、方便查阅和修改,二、移植性强。

sunxiao618
2013-06-24 · TA获得超过1327个赞
知道小有建树答主
回答量:526
采纳率:0%
帮助的人:191万
展开全部

上面的都没错,看下面的

cj=cj1+cj2+cj3+cj4+cj5+cj6+cj7+cj8+cj9+cj10+cj11;

这个错了,

应该改为

cj=Number(cj1)+Number(cj2)+Number(cj3)+Number(cj4)+Number(cj5)+Number(cj6)+Number(cj7)+Number(cj8)+Number(cj9)+Number(cj10)+Number(cj11);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式