flash动画的loadMovie应用举例--多画面与画中画

flash动画的loadMovie应用举例--多画面与画中画

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-04-14 14:14:02

 加载外部文件命令loadMovie()可以在播放 SWF 文件的同时,将外部的 SWF 文件或 JPEG 文件加载到 Flash Player 中,使您可以同时显示几个 SWF 文件,或者在几个SWF 文件之间切换
   一 本节知识要点
  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_mc.getNextHighestDepth()
  返回一个整数,即影片剪辑的下一个可用的深度值
  4 switch
   创建动作脚本语句的分支结构。像 if 动作一样,switch 动作测试一个条件,并在条件返回 true 值时执行语句。
  5 case
   用法:case expression:statements
   定义用于 switch 动作的条件。如果 case 关键字后的 expression 参数在使用全等 (===) 的情况下等于 switch 动作的 expression 参数,则执行 statements 参数中的语句。
  6 _global 对象
   创建全局变量、对象或类。
  二 例题---仿电视的多画面与画中画效果
   制作思路:只要在同一场景中使用多个mc,使它们同时载入外部.swf文件或者jpg,那么就可以实现多画面效果。但是,在多画面与画中画的状态下,因为各mc载入外部.swf文件时有一个时间差,所以各画面仿电视的同步播放比较困难。这需要被调入的外部.swf文件和主场景文件的配合。

  我们打开外部文件“111.fla”文件,AS脚本为:
   1 在帧上的脚本
     第 1 帧:
   gotoAndPlay(x);//这个x是主场景中设置的全局变量;
     最后1帧:
   x=1;//设置本地变量x
  打开主文件6.8.fla,在这个源文件上的脚本如下:
   第 1 帧 :
  stop();
  swf1 = "111.swf";//设置变量swf1来表示外部.swf文件
  loadMovie(swf1, e); //在目标元件e上调入swf1
  e._x = 125; //设置目标元件e的坐标(即调入swf1的坐标)
  e._y = 50;
   第 2 帧 :
  clip = [a, b, c, d]; //设置数组对象,数组元素为4个目标mc
  lp = ["http://bbs.flasher123.com/UploadFile/2003-10/200310149471524589.swf", "http://bbs.flasher123.com/UploadFile/2004-4/200441713272664530.swf", "http://bbs.flasher123.com/UploadFile/2004-3/2004371753525251.swf", "http://bbs.flasher123.com/UploadFile/2003-11/200311201054795610.swf", "http://bbs.flasher123.com/UploadFile/2003-11/2003112817413249950.swf",
"http://cn.flasher123.com/flasher123/mmz/dsxl.swf", "http://bbs.flasher123.com/UploadFile/2003-10/200310170464214894.swf"];
       //设置数组对象,数组元素为网上.swf
   _global.x = _root.e._currentframe;

     //把目标mc播放的当前帧(即调入外部文件的当前帧)用全局变量x表示;
     //下面脚本中使调入外部文件的从全局变量x帧开始播放;
   m = getNextHighestDepth();//取得下一个可用的mc的深度;
   a.swapDepths(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()
  b.swapDepths(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()
  c.swapDepths(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();
  d.swapDepths(m);
  loadMovie(swf1, d);

[1] [2]  下一页

Tags:

作者:佚名
  • 好评 如果您觉得此资源好请您
      0%(0)
  • 差评 如果您觉得此资源差您可
      0%(0)

更多资源

网友评论

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 验证码:

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

         若有错误或不能下载等问题请打上勾