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

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

步骤:打开库管理面板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.     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.                 obj.addEventListener(Event.ENTER_FRAME,Run);
  16.             }
  17.         }
  18.         private function Run(e:Event):void
  19.         {
  20.             e.currentTarget.x+=1;
  21.         }
  22.     }
  23. }

 

通过这个事件,我们可以让产生的物体的坐标发生移动,每一帧向右增加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类是根据问题一编辑),并且让创建的实例随机获取坐标。

 

 

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

 

    博视界科技专注于沉浸式全景数字餐厅、全息酒店宴会厅,旨在帮传统餐饮用科技玩跨界,欢迎咨询!

官方网站:www.boseetech.com

联系方式:    

微信联系我:


    【声明】转载本文请注明出处三人行设计,并保留有效链接:flash多媒体交互应用基础(4) http://www.srxtuan.com/archives/1549,谢谢!