您的位置:首页 > 其它

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

2012-02-17 19:56 211 查看
问题一: 如何通过程序复制影片剪辑?

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

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

package

{

import flash.display.MovieClip;

import flash.events.*;

public class Example2 extends MovieClip

{

public function Example2()

{

for (var i:int=0; i<10; i++)

{

var obj:mc=new mc();

addChild(obj);

obj.x=i*20;

obj.y=50;

}

}

}

}

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

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

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

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

obj.addEventListener(Event.ENTER_FRAME,Run);

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

package

{

import flash.display.MovieClip;

import flash.events.*;

public class Example2 extends MovieClip

{

public function Example2()

{

for (var i:int=0; i<10; i++)

{

var obj:mc=new mc();

addChild(obj);

obj.x=i*20;

obj.y=50;

obj.addEventListener(Event.ENTER_FRAME,Run);

}

}

private function Run(e:Event):void

{

e.currentTarget.x+=1;

}

}

}

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

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

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

我们导入 import flash.utils.Timer;

package

{

import flash.display.MovieClip;

import flash.events.*;

import flash.utils.Timer;

public class Example2 extends MovieClip

{

public function Example2()

{

var time:Timer=new Timer(1000);

time.addEventListener(TimerEvent.TIMER,Run);

time.start();

}

private function Run(e:TimerEvent):void

{

var obj:mc=new mc();

addChild(obj);

obj.x=Math.random()*400;

obj.y=Math.random()*500;

}

}

}

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

以上三个问题,是一些常见的应用,包括如何复制影片剪辑,如何让影片剪辑产生运动,如何通过时间间隔来创建实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: