本期我们一起来学习在Flash中多项选择题的制作方法。
需要解决的问题
用Flash制作多项选择题需要解决以下问题:
1、当用户选择了某个选项以后,该选项必须与其他选项不同,如多了选中标志;当用户选择其他选项时,已选项不受影响,除非用户修改已选项。
2、当用户选择某个选项以后,在题目的后面括号中必须出现该选项的序号,如:A、B、C、D等;当不选该选项后,相应的序号必须消失。
3、当有多条题目的时候,用户应该可以任意修改已做题目,而这些不应该影响用户已完成的题目和最后成绩。
4、当用户选择了正确的选项以后,系统必须进行记录,确定用户选择了所有的正确答案以
用Flash制作多项选择题需要解决以下问题:
1、当用户选择了某个选项以后,该选项必须与其他选项不同,如多了选中标志;当用户选择其他选项时,已选项不受影响,除非用户修改已选项。
2、当用户选择某个选项以后,在题目的后面括号中必须出现该选项的序号,如:A、B、C、D等;当不选该选项后,相应的序号必须消失。
3、当有多条题目的时候,用户应该可以任意修改已做题目,而这些不应该影响用户已完成的题目和最后成绩。
4、当用户选择了正确的选项以后,系统必须进行记录,确定用户选择了所有的正确答案以
后才让用户得分,否则不能得分。
5、当选择题的量很大时,如何减少制作的工作量。
具体制作过程
1、启动Flash5,按“Ctrl+F8”键在“Name”中输入“按钮”后选择[Button]制作一个按钮(具体可参照上期《单项选择题的制作》一文中的图1),也可以直接从单项选择题中将按钮复制过来,按钮将会自动储存在Library库中。需要提醒大家的是:通过复制组件可以实现课件之间的素材资源共享。
2、按“Ctrl+F8”键创建一个名为“选项A”的MovieClip,用来显示选项A的两种选择状态(选中和没有选中),单击[OK]进入编辑状态。新建三个层,从上至下取名为:选中标志、按
5、当选择题的量很大时,如何减少制作的工作量。
具体制作过程
1、启动Flash5,按“Ctrl+F8”键在“Name”中输入“按钮”后选择[Button]制作一个按钮(具体可参照上期《单项选择题的制作》一文中的图1),也可以直接从单项选择题中将按钮复制过来,按钮将会自动储存在Library库中。需要提醒大家的是:通过复制组件可以实现课件之间的素材资源共享。
2、按“Ctrl+F8”键创建一个名为“选项A”的MovieClip,用来显示选项A的两种选择状态(选中和没有选中),单击[OK]进入编辑状态。新建三个层,从上至下取名为:选中标志、按
钮及Actions、按钮序号,在层“按钮及Actions”中按F6键插入关键帧,将Library库中的“按钮”分别拖放在该层的两帧中,注意两帧中的按钮位置要基本重合,可通过Align面板(“Ctrl+K”)确定其位置。然后为第1帧加上如下Actions语句:
a = 0;//设定非选中状态时的值为0
stop ();//让动画停止在第1帧
再为第2帧加上如下Actions语句:
a = 1;//设定选中状态时的值为1,这样做的目的是为了计算得分,通过判断a的值从而知道该选项是否被选择
3、为层“按钮及Actions”第1帧中的按钮加上如下Actions语句:
a = 0;//设定非选中状态时的值为0
stop ();//让动画停止在第1帧
再为第2帧加上如下Actions语句:
a = 1;//设定选中状态时的值为1,这样做的目的是为了计算得分,通过判断a的值从而知道该选项是否被选择
3、为层“按钮及Actions”第1帧中的按钮加上如下Actions语句:
on (release) {
gotoAndStop (2);
}//单击选择后跳转到第2帧,显示为选中状态,此时a的值为1
再为第2帧中的按钮加上如下Actions语句:
on (release) {
gotoAndStop (1);
}//跳转到第1帧,显示为非选中状态,此时制作flasha的值为0
4、在层“按钮序号”的第1帧中输入字母“A”,表示当前选项是A。在层“选中标志”的第2帧中
gotoAndStop (2);
}//单击选择后跳转到第2帧,显示为选中状态,此时a的值为1
再为第2帧中的按钮加上如下Actions语句:
on (release) {
gotoAndStop (1);
}//跳转到第1帧,显示为非选中状态,此时制作flasha的值为0
4、在层“按钮序号”的第1帧中输入字母“A”,表示当前选项是A。在层“选中标志”的第2帧中
绘制一个小圆点,并且使小圆点的位置和按钮的中心重合,这样就形成了按钮的选中状态。再在该帧中输入一个字母“A”,这个字母用来是显示题目后面的答案,它的位置可以根据实际题目的位置来调整,影片“选项A”的层如图1所示。
图1
5、打开Library库,选中“选项A”影片后按鼠标右键,选择“Duplicate”弹出的对话框,在“Name”中输入“选项B”。双击影片“选项B”进入编辑状态,将序号和“Actions”里所有的“a”改为“b”,将层“选中标志”的字母“b”的位置稍稍向后移动,不能跟A重合或错位。利用这种方法制作选项C、D,注意要修改其中的某些参数为C或者D,否则后面将无法进行变量传递判断,还要向后稍稍移动字母的位置,以免出现A、B、C、D字母重叠的现象。
图1
5、打开Library库,选中“选项A”影片后按鼠标右键,选择“Duplicate”弹出的对话框,在“Name”中输入“选项B”。双击影片“选项B”进入编辑状态,将序号和“Actions”里所有的“a”改为“b”,将层“选中标志”的字母“b”的位置稍稍向后移动,不能跟A重合或错位。利用这种方法制作选项C、D,注意要修改其中的某些参数为C或者D,否则后面将无法进行变量传递判断,还要向后稍稍移动字母的位置,以免出现A、B、C、D字母重叠的现象。
6、按“Ctrl+F8”创建一个名为“第一题”的MovieClip,插入一层后从上至下取名为“题目”和“选项及答案”。在层“题目”中输入题目,要注意题目后面的括号要大一些,而且要让其位置正好与选项影片的“选中标志”中的按钮A等基本上重合。将Library库中的选项A、选项B、选项C、选项D拖放在层“选项及答案”的编辑区,然后在各个选项后面输入答案,调整好位置(可参照图2)。选中影片“选项A”单击鼠标右键选择“Panels→Instance”打开“Instance”窗口,在“Name”中输入“a”,使用同样的方法分别将选项B、选项C、选项D的“Instance Name”设为“b”、“c”、“d”。
图2
7、复制Library库中的影片“第一题”得到影片“第二题”,然后双击影片“第二题”进入编辑状态,修改其中的题目和答案为“第二题”所需要的内容,其余的不变,这样就制作出了第二道
题,怎么样?很快吧!利用这种方法制作第三题、第四题,最后制作一个“得分”按钮(可到“单项选择题”中复制!嘻嘻)。
8、单击层左上角的“Scene 1”回到场景中,将Library库中的四道题目拖放在编辑区中,分别将“第一题”、“第二题”、“第三题”和“第四题”的“Instance Name”设为“defen1”、“defen2”、“defen3”和“defen4”。将“得分”按钮拖放到合适的位置,制作一个显示得分的文本框,参数如图3。
图3
8、单击层左上角的“Scene 1”回到场景中,将Library库中的四道题目拖放在编辑区中,分别将“第一题”、“第二题”、“第三题”和“第四题”的“Instance Name”设为“defen1”、“defen2”、“defen3”和“defen4”。将“得分”按钮拖放到合适的位置,制作一个显示得分的文本框,参数如图3。
图3
9、下面为“得分”按钮加上Actions语句:
on (release) {
if ((timu1.a1.a == 1) &&&& (timu1.b1.b == 1) &&&& (timu1.c1.c == 0) &&&& (timu1.d1.d == 1)) {
defen1 = 5;
//重点说明:假设第一题的答案为ABD而且选中了ABD则第一题得分是5分,如:timu1.a1.a == 1表示实例名为timu1下的实例名为a1中的a的值为1,其实这就是选项A选中时的变量“a”的值,其余的类似,利用这种方法可以进行选项的判断。
} else {
on (release) {
if ((timu1.a1.a == 1) &&&& (timu1.b1.b == 1) &&&& (timu1.c1.c == 0) &&&& (timu1.d1.d == 1)) {
defen1 = 5;
//重点说明:假设第一题的答案为ABD而且选中了ABD则第一题得分是5分,如:timu1.a1.a == 1表示实例名为timu1下的实例名为a1中的a的值为1,其实这就是选项A选中时的变量“a”的值,其余的类似,利用这种方法可以进行选项的判断。
} else {
defen1 = 0;//否则得分将为0分。
}
if ((timu2.a1.a == 1) &&&& (timu2.b1.b == 1) &&&& (timu2.c1.c == 1) &&&& (timu2.d1.d == 0)) {
defen2 = 5;
} else {
defen2 = 0;
}
}
if ((timu2.a1.a == 1) &&&& (timu2.b1.b == 1) &&&& (timu2.c1.c == 1) &&&& (timu2.d1.d == 0)) {
defen2 = 5;
} else {
defen2 = 0;
}
if ((timu3.a1.a == 1) &&&& (timu3.b1.b == 1) &&&& (timu3.c1.c == 0) &&&& (timu3.d1.d == 1)) {
defen3 = 5;
} else {
defen3 = 0;
}
if ((timu4.a1.a == 1) &&&& (timu4.b1.b == 1) &&&& (timu4.c1.c == 0) &&&& (timu4.d1.d == 1)) {
defen4 = 5;
defen3 = 5;
} else {
defen3 = 0;
}
if ((timu4.a1.a == 1) &&&& (timu4.b1.b == 1) &&&& (timu4.c1.c == 0) &&&& (timu4.d1.d == 1)) {
defen4 = 5;
} else {
defen4 = 0;
}
zongfen = defen1+defen2+defen3+defen4;//使最后的总分为四道题目的得分之和。
}
10、按“Ctrl+Enter”键测试效果,可以看到多项选择题的主要功能已经实现了,稍微修改其中的某些参数还可以制作不定项选择题,有兴趣的朋友可以试一试。当然了,用Flash制作课件还有很多问题需要探讨,希望与大家共同进步。
发布评论