拖曳配对题是一种常见的交互题型,将设定的物体拖到目标区域,根据到达的位置反映相应结果。一般情况下,如果没有到达目标区域,还能自动返回。学生在完成这种题型时,感觉像在玩游戏,可谓是“在玩中学,在学中玩”。本文将为大家介绍如何使用Flash制作拖曳题。
1. 启动Flash Mx/2004,新建一个Flash文档。在场景的第1帧输入文字,并且按“Ctrl+B”打散,然后再按“Ctrl+G”组合。输入括号,并在括号中绘制两个矩形,然后分别选中,按F8弹出对话框,将其转换成影片剪辑,最后单击场景下方的〔属性〕按钮,分别将他们的实例名称设置为:cat和car,透明度(Alpha)设置为0,这样在场景中看不到这两个矩形。矩形将作为文字的搭配对象,拖动文字到括号中,其实就是将文字与其接触而获得反馈。
图1 各个对象的位置摆放
2. 在下面输入文字:轿车、猫,并且分别打散,再按F8键将其转换成影片,将它们的实例名设置为:jiaoche、mao。在下方输入一个空白的动态文本框,单击场景下方的〔属性〕按钮,在变量项中输入“fankui”,并且设置字体、字号、颜色等,文本框将用来反馈配对的结果。场景中物体的具体位置可参照图1,也可以根据实际情况来设置,不一定是文字,也可以是图片等,但是注意一定要转换成影片对象。
3. 选中第1帧,按F9键打开“动作”面板对话框,输入以下语句:
_root.jiaoche.onPress=function(){
_root.jiaoche.startDrag();//鼠标按下,“轿车”被拖动
x0 = _root.car._x;
y0 = _root.car._y;
x1 = _root.jiaoche._x;
y1 = _root.jiaoche._y;
//获取car和jiaoche影片的坐标值
}
_root.jiaoche.onRelease=function(){
_root.jiaoche.stopDrag();//鼠标松开,“轿车”停止拖动
if (_root.car.hitTest(_root.jiaoche)) {
_root.jiaoche._x = x0;
_root.jiaoche._y = y0;
//当jiaoche影片碰到了car影片后,jiaoche影片自动到达car影片的位置
_root.jiaoche.stopDrag();
_root.fankui = "回答正确,继续努力!";
//当括号中的car影片与轿车碰撞后,反馈正确结果
} else {
_root.jiaoche._x = x1;
_root.jiaoche._y = y1;
//当jiaoche影片没有到达car影片位置时,jiaoche影片返回原始位置。
_root.fankui = "回答错误,再来一次!";
}
}//上面的语句是对轿车进行拖动并且反馈出配对结果。
_root.mao.onPress=function(){
_root.mao.startDrag();
x0 = _root.cat._x;
y0 = _root.cat._y;
x1 = _root.mao._x;
y1 = _root.mao._y;
}
_root.mao.onRelease=function(){
_root.mao.stopDrag();
if (_root.cat.hitTest(_root.mao)) {
_root.mao._x = x0;
_root.mao._y = y0;
_root.mao.stopDrag();
_root.fankui = "回答正确,继续努力!";
} else {
_root.mao._x = x1;
_root.mao._y = y1;
_root.fankui = "回答错误,再来一次!";
}
}
最后按“Ctrl+Enter”键测试效果(如图2),当拖动配对错误时,拖动对象会自动返回并有文字反馈,当拖动配对正确时,也会有正确的文字反馈。当然了,本例只是拖曳配对题型的最简单使用,它的应用还是比较广泛的,比如,在化学课中,可以将这种题型应用到组装化学仪器中去,这样体现了多媒体课件的优势——寓教于玩,学而不厌。
图2 测试效果