多媒体课件制作之拖拽型课件

文章描述了一个使用ActionScript编程的Flash互动游戏,玩家需将数字板拖放到正确的位置进行归类。代码涉及鼠标点击拖放、释放停止、碰撞检测以及游戏状态反馈等逻辑,当所有数字归位后,会触发特定动画并重置游戏状态,允许玩家再次尝试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前期准备:

代码添加:

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”键测试影片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值