前期准备:
代码添加:
1.新建一个图层并命名为“action”,选择第1帧,打开动作【面板】,添加如下代码:
jishu=0;//jishu用来统计归类正确的数字的个数
2.选中影片剪辑“a”,添加拖拽代码:
a.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_2);
function fl_ClickToDrag_2(event:MouseEvent):void
{
a.startDrag(false,new Rectangle(10,10,400,500)); //限定a在一个范围。
}
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_2);
function fl_ReleaseToDrop_2(event:MouseEvent):void
{
a.stopDrag();
}
3.添加拖拽停止时检测影片剪辑“a”(数字板)是否和影片剪辑“zhishu”(归类板)发生碰撞的代码:
if (a.hitTestObject(zhishu)) {
dui.gotoAndPlay(2);
a.visible = 0;
}
“visible”是影片剪辑的属性,值为1(true)时,该影片剪辑可见,值为0(false)时,该影片剪辑不可见。
4.继续添加代码。如果没有发生碰撞,归类不正确,那么影片剪辑“a”返回原本位置。
if (!a.hitTestObject(zhishu)) {
a.x = 130;
a.y = 180;//a返回到初始的位置。
}
至此,测影片剪辑“a”上的全部代码为:
a.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_2);
function fl_ClickToDrag_2(event:MouseEvent):void
{
a.startDrag(false,new Rectangle(10,10,400,500)); //限定a在一个范围。
}
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_2);
function fl_ReleaseToDrop_2(event:MouseEvent):void
{
a.stopDrag();
if (a.hitTestObject(zhishu)) {
dui.gotoAndPlay(2);
a.visible = 0;
}
if (!a.hitTestObject (zhishu)) {
a.x = 130;
a.y = 180;
}
}
其余数字板上的代码与此基本相同,只是记录各元件的初始位置不同。
5.打开“正确判断反馈”影片剪辑,在action图层第2帧插入关键帧,打开【动作】面板添加代码:
jishu++; //每归类正确一次,jishu就加1。
6.在action图层第20帧插入关键帧,输入代码:
if (jishu == 5) {
jishu = 0;
zhengque.play();
}
7.打开“反馈”影片剪辑,在action图层第63帧插入关键帧,打开【动作】面板添加代码:
a.x = 130;
a.y = 180;
b.x = 340;
b.y = 180;
c.x = 30;
c.y = 260;
d.x = 240;
d.y = 260;
e.x = 430;
e.y = 260;
这段代码用于实现当游戏结束的反馈播放完时,使所有的数字板回到初始位置,以便重复操作课件。
8.继续添加代码:
a.visible = 1;
b.visible = 1;
c.visible = 1;
d.visible = 1;
e.visible = 1;
这段代码使所有数字板影片剪辑可见。
9.按“Ctrl+Enter”键测试影片。