乘号怎么打-此网页包含的内容将不使用安全的https

画中画怎么用
2023年4月3日发(作者:百度文库不显示)

本节知识要点

1、loadMovie("url",target[,method])

"url":要加载的SWF文件或JPEG文件的绝对路径或相对路径。

使用相对路径一般应将播放的.swf文件与要加载的.swf文件放在同一文件夹中。绝对路径

必须有详细的路径地址。

target:目标影片剪辑(mc元件)的名称和路径。目标影片剪辑将替换为加载的SWF文件

或图像。

method可选参数,一般可以不选。

如果SWF文件加载到目标影片剪辑,则可使用该影片剪辑的目标路径来定位加载的SWF

文件。加载到目标的SWF文件或图像会继承目标影片剪辑的位置、旋转和缩放属性。加载的

图像或SWF文件的左上角与目标影片剪辑的注册点对齐

2、MovieClip._lockroot

因为用loadMovie()加载的外部文件是加载到一个mc元件上,所以,外部文件中指向场景

(_root)的路径此时应该是指向这个mc元件而不是主文件的场景。使用MovieClip._lockroot可以

使加载的文件中的_root仍然是指向原来文件的场景.

3、my_tHighestDepth()

返回一个整数,即影片剪辑的下一个可用的深度值

4、switch

创建动作脚本语句的分支结构。像if动作一样,switch动作测试一个条件,并在条件返

回true值时执行语句。

5、case

用法:caseexpression:statements

定义用于switch动作的条件。如果case关键字后的expression参数在使用全等(===)

的情况下等于switch动作的expression参数,则执行statements参数中的语句。

6、_global对象

创建全局变量、对象或类。

例题---仿电视的多画面与画中画效果

请看效果:

点击查看动画效果<

制作思路:只要在同一场景中使用多个mc,使它们同时载入外部.swf文件或者jpg,那么

就可以实现多画面效果。但是,在多画面与画中画的状态下,因为各mc载入外部.swf文件时

有一个时间差,所以各画面仿电视的同步播放比较困难。这需要被调入的外部.swf文件和主场

景文件的配合。

我们打开外部文件“”文件,AS脚本为:

1、在帧上的脚本

第1帧:

gotoAndPlay(x);//这个x是主场景中设置的全局变量;

最后1帧:

x=1;//设置本地变量x

打开主文件,在这个源文件上的脚本如下:

第1帧:

复制代码

代码如下:

stop();

swf1="";//设置变量swf1来表示外部.swf文件

loadMovie(swf1,e);//在目标元件e上调入swf1

e._x=125;//设置目标元件e的坐标(即调入swf1的坐标)

e._y=50;

第2帧:

复制代码

代码如下:

clip=[a,b,c,d];//设置数组对象,数组元素为4个目标mc

lp=["/UploadFile/2003-10/","

t/UploadFile/2004-4/","/UploadFile/2004-3/200437175

","/UploadFile/2003-11/","5

/UploadFile/2003-11/","/flasher123/mmz/dsx

","/UploadFile/2003-10/"];

//设置数组对象,数组元素为网上.swf

_global.x=_root.e._currentframe;

//把目标mc播放的当前帧(即调入外部文件的当前帧)用全局变量x表示;

//下面脚本中使调入外部文件的从全局变量x帧开始播放;

m=getNextHighestDepth();//取得下一个可用的mc的深度;

pths(m);//设置mc元件a的深度为下一个可用的mc的深度;

loadMovie(swf1,a);//在目标元件a上调入swf1

a._x=125;//设置目标元件a的坐标(即调入swf1的坐标)

a._y=50;

a._xscale=50;//设置目标元件a的放大系数(即调入swf1的放大系数)

a._yscale=50;

j=k=0;//设置变量初值

第3帧

复制代码

代码如下:

_global.x=_root.e._currentframe;//与第2帧上的脚本类同

m=getNextHighestDepth()

pths(m)

loadMovie(swf1,b);

b._x=125;

b._y=250;

b._xscale=50;

b._yscale=50;

第4帧

复制代码

代码如下:

_global.x=_root.e._currentframe;//与第2帧上的脚本类同

m=getNextHighestDepth()

pths(m)

loadMovie(swf1,c);

c._x=400;

c._y=250;

c._xscale=50;

c._yscale=50;

第5帧

复制代码

代码如下:

_global.x=_root.e._currentframe;//与第2帧上的脚本类同

m=getNextHighestDepth();

pths(m);

loadMovie(swf1,d);

d._x=400;

d._y=50;

d._xscale=50;

d._yscale=50;

unloadMovie(e);//删除最开始调入的swf

第6帧

复制代码

代码如下:

e._lockroot=true;//使被选中的元件在调入的外部文件的_root指向本身的主时间轴

loadMovie(lp[k],e);//配合按扭中的mc的变化;

2、在按扭上的脚本

在“多屏幕”按扭上的脚本:

复制代码

代码如下:

on(release){

nextFrame();

}

在“单屏”按扭上的脚本:

复制代码

代码如下:

on(release){

for(i=0;i<4;i++){

unloadMovie(clip[i]);//删去元件a,b,c,d上加载的外部swf文件;

clip[i].swapDepths(-i-1);//降低a,b,c,d的深度,使元件e加载的swf能显示出来;

clip[i]._alpha=100;//元件a,b,c,d的透明度有可能降低,这里把恢复它们的透明度

}

nextFrame();//到下一帧停下

}

在“屏幕选择”按扭上的脚本

复制代码

代码如下:

on(press){

txt="";//设置文本txt为空

switch(j=j+1){//创建switch动作脚本语句的分支结构

case1://如果j==1,就执行

a._alpha=40;//元件a是透明度为40

break;//跳出switch循环体。以下类同

case2:

a._alpha=100;

b._alpha=40;

break;

case3:

b._alpha=100;

c._alpha=40;

break;

case4:

c._alpha=100;

d._alpha=40;

break;

case5:

d._alpha=100;

j=0;

break;

}

}

在“更换节目”按扭上的脚本

复制代码

代码如下:

on(release){

if(j==0){

txt="请先选择屏幕";

}else{//当j不等于0时,执行下列命令:

clip[j-1]._alpha=100;//恢复被选中的元件的透明度

clip[j-1]._lockroot=true;//使被选中的元件在调入的外部文件的_root指向本身的主时间

loadMovie(lp[k],clip[j-1]);//在clip[j-1]元件中调入数组lp中第k个元数表示的网址

k++;

if(k==){//数组lp中元素个数

k=0;

}

}

}

在第6帧上“多屏”按扭上的脚本

复制代码

代码如下:

on(release){

gotoAndStop(1);

}

在第6帧上“更换节目”按扭上的脚本

复制代码

代码如下:

on(release){

k++;

if(k==7){//数组lp中有7个元素

k=0;

}

e._lockroot=true;

loadMovie(lp[k],e);//在e元件中调入数组lp中第k个元数表示的网址

}

作业

把2至4帧的脚本用自定义函数简化;把在“屏幕选择”按扭上的脚本用函数或者数组变量简

化。

更多推荐

画中画怎么用