多媒体交互应用基础(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类是根据问题一编辑),并且让创建的实例随机获取坐标。
以上三个问题,是一些常见的应用,包括如何复制影片剪辑,如何让影片剪辑产生运动,如何通过时间间隔来创建实例
问题一: 如何通过程序复制影片剪辑?
步骤:打开库管理面板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类是根据问题一编辑),并且让创建的实例随机获取坐标。
以上三个问题,是一些常见的应用,包括如何复制影片剪辑,如何让影片剪辑产生运动,如何通过时间间隔来创建实例