ActionScript2.0编程技术教程

2008-04-02 10:53:59来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  本章将介绍变量和常量、变量的数据类型、运算符和表达式、路径等一些基本知识,在此基础上,认识 Flash 中的坐标、角度和影片剪辑的属性。利用这些知识,能够制作一些简单的效果如直线运动等。

  2.4 路径

  在一个学校中有校长、老师、学生,老师中又有语文老师、数学老师等。校长和老师之间有信息交流,老师和学生也有信息交流等。

  一个 Flash 影片好比是个学校,能够由多个影片剪辑组成,这些影片剪辑中,能够有自己的时间轴,有自己的变量等。影片剪辑之间是怎样进行交换信息的呢?这和 Flash 中的路径有关。

  2.4.1 绝对路径

  假如校长要找学生,能够这样进行,校长先找到下一级的老师,老师再找下一级的学生,表示如下:

  校长 . 老师 . 学生

  主场景( _root )好比是校长,主场景中的影片剪辑( mcA )好比是老师,影片剪辑( mcA )下的影片剪辑( mc1 )好比是学生,假如要在主场景中访问影片剪辑 mc1 ,用如下方式:

  
_root.mcA.mc1;


  在 Flash 影片中从起点(如从主场景开始)调用变量或影片剪辑,这样的语法称为绝对路径。他简单、容易理解,但移植性差。

  范例 2-13 :使用绝对路径

  ( 1 )打开 Flash MX 2004 ,新建一个 Flash 文档。

  当建立一个新文档时,出现在面前的场景即主场景,用 _root 表示。

  ( 2 )在主场景中建立一个实例名为“ mcA ”的影片剪辑实例,双击 mcA 进入元件的编辑场景,建立一个实例名为“ mc1 ”的影片剪辑实例。在【时间轴】的上方能够显示出影片剪辑实例的顺序。如图 2.18 所示。

  

  图 2.18 影片剪辑实例的顺序

  ( 3 )返回主场景,新建一层,单击此层的第 1 帧,打开【动作】面板,输入下列代码:

  trace(_root.mcA._width);

  // 输出影片剪辑实例 mcA 的宽度

  trace(_root.mcA.mc1._width);

  // 输出影片剪辑 mc1 的宽度

  ( 4 )测试影片,观看【输出】面板中输出的数据。

  ( 5 )返回主场景,把主场景第 1 帧中的代码中改为:

  
trace(mcA._width);

  trace(mcA.mc1._width);


  测试影片,结果是相同的。

  从测试结果可看出,在主场景中使用绝对路径,可省略 _root 。

  ( 6 )返回主场景,把第 1 帧中的代码加上注释,在主场景中加入一个按钮,单击按钮,打开【动作】面板,输入下列代码:

  
on(release){

  trace(_root.mcA._width);

  trace(_root.mcA.mc1._width);

  }


  测试影片,单击按钮,观看测试结果。

  ( 7 )返回主场景中,把按钮中的代码改为:

  
on(release){

  trace(mcA._width);

  trace(mcA.mc1._width);

  }


  测试影片,单击按钮,观看测试结果,测试结果不变。

  从测试结果可看出,主场景中的按钮上的代码能够看成是在主场景中的时间轴上执行,所以能够不加 _root 。

  ( 8 )返回主场景,把按钮中的代码加上注释,双击场景中的影片剪辑实例,在第 1 帧上加上下列代码:

  
trace(_root.mcA._width);

  trace(_root.mcA.mc1._width);


  测试影片,结果和前面相同。

  ( 9 )关闭测试窗口,把第 1 帧上的代码改为:

  
trace(mcA._width);

  trace(mcA.mc1._width);


  测试影片,结果错误。

  从测试结果可看出,影片剪辑有自己的时间轴,他的代码是在自己的时间轴上执行,所以必须加路径 _root 。

  源文档见“ 2-13.fla ”(文档路径:配套光盘 \ 源文档 \part2 \2-13.fla )。

  试一试: 在本例的基础上,做如下修改:

  Flash 文档能够由多个影片组成,一个影片可从外部动态的导入到另一个影片的影片剪辑中,比如,影片“ 1.swf ”被导入到影片“ main.swf ”中的影片剪辑实例 mc 中,假如在影片“ 1.swf ”中的程式中有 _root ,导入到 mc 后,不再是主场景,所以路径改变,这时“ 1.swf ”的中的代码就不能正确的执行,这时,就要使用相对路径来解决这个问题。

  相对路径是以自己所处的起点去访问其他的变量或影片剪辑。如在范例 2-13 中,以 mc1 为起点访问上一级的影片剪辑 mcA 就属于相对路径,这里的上一级用 _patent 表示。因为 mcA 是 mc1 的上一级,在 mc1 的时间轴上加上:

  _parent._x ;

  意思是访问 mc1 的上一级 mcA 的 x 坐标,转换为绝对路径即:

  _root.mcA._x;

  使用相对路径有两层意思,一是以自己为起点向上访问,需要用 _parent 。二是以自己为起点向下访问,只需用点运算符。

  范例 2-14 :使用相对路径访问变量

  ( 1 )打开 Flash MX 2004 ,新建一个 Flash 文档。

  ( 2 )建立如图 2.20 所示影片剪辑实例及其结构,图 2.20 中的名称代表他们的实例名。

  

  图 2.20 影片剪辑的关系

  ( 3 )单击主场景的第 1 帧,打开【动作】面板,输入下列代码:

  
varroot_var="_root";


  // 在主场景中定义一个字符串变量,代表主场景

  ( 4 )在四个影片剪辑实例的时间轴的第 1 帧上分别定义一个变量,如下所示:

  在 mcB 中:

  
varmcB_var="mcB";


  在 mc2 中:

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash适应任何分辨率方法大集合

下一篇: 关于Mediaplayback组件的快进/快退按钮