论文部分内容阅读
摘 要:使用ActionScrip脚本语言在Flash中调用多种外部资源,使制作出的flash具有更强的灵活性和交互性。本文通过例子讲述swf文件、图片、声音、视频、xml文件的调用。
关键词:Flash;调用;ActionScrip语言
中图分类号:G434文献标识码:A 文章编号:1673-8454(2008)16-0062-03
一、引言
制作Flash时,有时我们会把视频、图片、音乐等素材放在flash外,在Flash中通过语句调用这些素材。这种做法有两个好处,一是当我们需要更换这些素材时只需要在文件夹中用新的素材代替旧的素材即可,而不必打开源文件进行修改。二是可以使课件保持简洁,占用的空间尽量小,特别是当素材比较多、文件比较大时这样处理更有必要。
二、调用swf影片
有时,我们青睐别人制作的动画, 希望将无法编辑的swf动画添加到自己的动画影片中,这时就需要运用外部影片的调用方法,比如我们将通过swftext制作的Flash文本特效动画调用到Flash场景中,在给我们的Flash增加亮点的同时,还可节省大量时间。调用的操作步骤如下:
第一,新建一个Flash 文档, 将这个文件保存为调用swf影片.fla。将被调用的外部swf文件txt1. swf和调用swf影片.fla文件放置在同一路径下;
第二,新建立一个层,在该层的第1帧输入以下代码:
loadMovieNum("txt1.swf", 1);
_x = 50 ;
_y = 100 ;
其中loadMovieNum("txt1.swf", 1)调用的影片,可以是本机上的文件,也可以是网络上的。例如:loadMovieNum("http://……", 1)。
然后在第50 帧插入空白帧。测试影片,外部swf则会在场景中播放。但是在测试的时候大家会发现调用进来的txt2.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置,这是为什么呢?原来,在没有使用loadMovieNum以前,所有的swf、图形、MC等等都是处于_level0里的,那么,我们用loadMovieNum调用SWF 文件的时候,程序就要对你指定的_level进行创建,随后再紧接着调用SWF文件,解决的方法就是用一个循环来判断指定的_level是否存在,一旦_level产生,那么它的种种属性自然可以调用了。代码如下:
loadMovieNum("txt1.swf", 2);
onEnterFrame = function () {
if ( _level2 ) {
with ( _level2 ) {
_x = 50 ;
_y = 100 ;
}
delete onEnterFrame ;
}
};
此外,我们也可以通过loadMovie()函数调用swf文件,要注意的是:loadMovieNum()是调用到Z轴的不同层上,是和当前舞台平台同一级别的。而loadMovie()是调用到从属于当前舞台层的MC中的。
三、调用图片
在Flash动画中调用图片,是经常要遇到的问题。我们可以先将图片引入元件中,然后放到舞台上,但是通过动作语句调用图片,让图片不包含在Flash文件中,运行时候再到指定位置调用,这样,不但使得Flash的文件容量大大减少,也有利于扩大动画素材来源。外部图片的调用语句与影片语句是一样的。
测试影片,在文本框中输入jpg图片的文件名,点击按钮,前一幅图片慢慢消失,然后出现在文本框中选择的图片。
操作步骤如下:
第一,新建一个Flash 文档, 将这个文件保存为调用图片.fla。将被调用的外部图片文件与调用图片.fla放置在同一路径下。
第二,在场景中通过文本工具添加一文本框,然后在属性面板将其命名为txt。从组件面板中拖动一个Button按钮到场景中。在属性检查器中, 将这个控件命名为ty。在参数选项卡中选择label字段, 输入“显示”。
第三,新建立一个层,在该层的第1帧输入以下代码:
var txt:TextField ;
_root.createEmptyMovieClip
("mc",1)
mc.loadMovie("a2.jpg",true);
mc._x=150;
mc._y=20;
mc._xscale=100;
mc._yscale=100;
ty.onPress=function() {
fadeOut=true;
_root.onEnterFrame=function() {
if (mc._alpha>5) {
mc._alpha-=3;
}
if (mc._alpha<5){
mc.loadMovie(txt.text ".jpg",true);//执行的语句
mc._alpha=100;
fadeOut=false;
};
if (mc._alpha<100
关键词:Flash;调用;ActionScrip语言
中图分类号:G434文献标识码:A 文章编号:1673-8454(2008)16-0062-03
一、引言
制作Flash时,有时我们会把视频、图片、音乐等素材放在flash外,在Flash中通过语句调用这些素材。这种做法有两个好处,一是当我们需要更换这些素材时只需要在文件夹中用新的素材代替旧的素材即可,而不必打开源文件进行修改。二是可以使课件保持简洁,占用的空间尽量小,特别是当素材比较多、文件比较大时这样处理更有必要。
二、调用swf影片
有时,我们青睐别人制作的动画, 希望将无法编辑的swf动画添加到自己的动画影片中,这时就需要运用外部影片的调用方法,比如我们将通过swftext制作的Flash文本特效动画调用到Flash场景中,在给我们的Flash增加亮点的同时,还可节省大量时间。调用的操作步骤如下:
第一,新建一个Flash 文档, 将这个文件保存为调用swf影片.fla。将被调用的外部swf文件txt1. swf和调用swf影片.fla文件放置在同一路径下;
第二,新建立一个层,在该层的第1帧输入以下代码:
loadMovieNum("txt1.swf", 1);
_x = 50 ;
_y = 100 ;
其中loadMovieNum("txt1.swf", 1)调用的影片,可以是本机上的文件,也可以是网络上的。例如:loadMovieNum("http://……", 1)。
然后在第50 帧插入空白帧。测试影片,外部swf则会在场景中播放。但是在测试的时候大家会发现调用进来的txt2.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置,这是为什么呢?原来,在没有使用loadMovieNum以前,所有的swf、图形、MC等等都是处于_level0里的,那么,我们用loadMovieNum调用SWF 文件的时候,程序就要对你指定的_level进行创建,随后再紧接着调用SWF文件,解决的方法就是用一个循环来判断指定的_level是否存在,一旦_level产生,那么它的种种属性自然可以调用了。代码如下:
loadMovieNum("txt1.swf", 2);
onEnterFrame = function () {
if ( _level2 ) {
with ( _level2 ) {
_x = 50 ;
_y = 100 ;
}
delete onEnterFrame ;
}
};
此外,我们也可以通过loadMovie()函数调用swf文件,要注意的是:loadMovieNum()是调用到Z轴的不同层上,是和当前舞台平台同一级别的。而loadMovie()是调用到从属于当前舞台层的MC中的。
三、调用图片
在Flash动画中调用图片,是经常要遇到的问题。我们可以先将图片引入元件中,然后放到舞台上,但是通过动作语句调用图片,让图片不包含在Flash文件中,运行时候再到指定位置调用,这样,不但使得Flash的文件容量大大减少,也有利于扩大动画素材来源。外部图片的调用语句与影片语句是一样的。
测试影片,在文本框中输入jpg图片的文件名,点击按钮,前一幅图片慢慢消失,然后出现在文本框中选择的图片。
操作步骤如下:
第一,新建一个Flash 文档, 将这个文件保存为调用图片.fla。将被调用的外部图片文件与调用图片.fla放置在同一路径下。
第二,在场景中通过文本工具添加一文本框,然后在属性面板将其命名为txt。从组件面板中拖动一个Button按钮到场景中。在属性检查器中, 将这个控件命名为ty。在参数选项卡中选择label字段, 输入“显示”。
第三,新建立一个层,在该层的第1帧输入以下代码:
var txt:TextField ;
_root.createEmptyMovieClip
("mc",1)
mc.loadMovie("a2.jpg",true);
mc._x=150;
mc._y=20;
mc._xscale=100;
mc._yscale=100;
ty.onPress=function() {
fadeOut=true;
_root.onEnterFrame=function() {
if (mc._alpha>5) {
mc._alpha-=3;
}
if (mc._alpha<5){
mc.loadMovie(txt.text ".jpg",true);//执行的语句
mc._alpha=100;
fadeOut=false;
};
if (mc._alpha<100