多媒体交互应用基础(4)

问题一: 如何通过程序复制影片剪辑?

问题一: 如何通过程序复制影片剪辑?

步骤:打开库管理面板Crtl+L,点击一个影片剪辑,鼠标右键-》链接-à添加一个Class名,继承了基类为flash.display.MovieClip,勾选第一帧导出 如下图

 

 

  1. package 
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.events.*;
  5.     public class Example2 extends MovieClip
  6.     {
  7.         public function Example2()
  8.         {
  9.             for (var i:int=0; i<10; i++)
  10.             {
  11.                 var obj:mc=new mc();
  12.                 addChild(obj);
  13.                 obj.x=i*20;
  14.                 obj.y=50;
  15.             }
  16.         }
  17.     }
  18. }

我们看看里面的代码,我们在库里链接一个类,我们在这里文档类里面可以使用刚才我们链接的类。为了实例化里面的对象,我们使用了new mc()创建了一个对象,并将obj加入显示清单。这样我们在舞台里面创建一个实例,但是为了复制更多的mc对象,我们需要使用循环为我们创建10个对象,即10次运行创建。

为了能够显示10个不同的对象,因此需要改变一下它的坐标,这样就能够看见我们创建里面的对象。

 

 

问题二: 如何将通过程序复制影片剪辑产生运动?

 

步骤:为了让复制出来的影片剪辑能够产生运动,我们可以一个监听的 事件。

obj.addEventListener(Event.ENTER_FRAME,Run);

 

通过这个事件,产生运动效果。这个是As一个很重要一个事件。它能够让每一帧的产生动画。这个是As动画的基础

 

 

 

  1. package 
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.events.*;
  5.  
  6.     public class Example2 extends MovieClip
  7.     {
  8.         public function Example2()
  9.         {
  10.             for (var i:int=0; i<10; i++)
  11.             {
  12.                 var obj:mc=new mc();
  13.                 addChild(obj);
  14.                 obj.x=i*20;
  15.                 obj.y=50;
  16.                 obj.addEventListener(Event.ENTER_FRAME,Run);
  17.             }
  18.         }
  19.         private function Run(e:Event):void
  20.         {
  21.             e.currentTarget.x+=1;
  22.         }
  23.     }
  24. }

 

通过这个事件,我们可以让产生的物体的坐标发生移动,每一帧向右增加1个像素单位。

 

 

问题三。如何通过时间间隔来产生影片剪辑?

步骤:As里面提供了Timer类实现计时器的效果。这个类中可以实现每隔一段时间执行相应的行为

我们导入 import flash.utils.Timer;

 

 

 

  1. package 
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.events.*;
  5.     import flash.utils.Timer;
  6.     public class Example2 extends MovieClip
  7.     {
  8.         public function Example2()
  9.         {
  10.             var time:Timer=new Timer(1000);
  11.             time.addEventListener(TimerEvent.TIMER,Run);
  12.             time.start();
  13.         }
  14.         private function Run(e:TimerEvent):void
  15.         {
  16.             var obj:mc=new mc();
  17.             addChild(obj);
  18.             obj.x=Math.random()*400;
  19.             obj.y=Math.random()*500;
  20.         }
  21.     }
  22. }

 

上面一段代码 可以实现每隔一秒创建一个实例(这里注意的是mc类是根据问题一编辑),并且让创建的实例随机获取坐标。

 

 

以上三个问题,是一些常见的应用,包括如何复制影片剪辑,如何让影片剪辑产生运动,如何通过时间间隔来创建实例

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值