论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

AS2.0编程-绝对路径

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:43:11


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


  校长 . 老师 . 学生

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

_root.mcA.mc1;

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

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

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


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


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

005521_02_592.jpg

图 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 帧中的代码加上注释,在主场景中加入一个按钮,单击按钮,打开【动作】面板,输入下列代码: bitsCN_com

on (release) {  
trace(_root.mcA._width);  
trace(_root.mcA.mc1._width);  
} 

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

  ( 7 )返回主场景中,把按钮中的代码改为: Feedom.net国内最早的网管网站

on (release) {  
trace(mcA._width);  
trace(mcA.mc1._width);  
} 

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


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


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

bitsCN_com

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 。二是以自己为起点向下访问,只需用点运算符。 Feedom.net国内最早的网管网站

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

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

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

005522_03_409.jpg

图 2.20 影片剪辑的关系

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


var root_var = "_root";

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

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

  在 mcB 中:


var mcB_var = "mcB";

  在 mc2 中:

bitsCN_com

var mc2_var = "mc2";

  在 mcA 中:

var mcA_var = "mcA";

  在 mc1 中:

var mc1_var = "mc1";

  ( 5 )在 mcB 的时间轴上的第 1 帧上输入下列代码:

trace(_parent.root_var);

  ( 6 )测试影片,输出 _root 。

  在这个范例中, _root 是 mcA 的上一级,即 _root 是 mcA 的父级,要在 mcA 的时间轴上访问 _root 中的变量 root_var ,只需向上访问一级,表示如下:

_parent.root_var;

  而 mcA 又是 mc1 的父级,要在 mc1 的时间轴上访问 _root 中的变量 root_var ,需向上访问两级,表示如下:

_parent._parent.root_var;

mcB 是 _root 的下一级,即 mcB 是 _root 的子级。要在 _root 的时间轴中访问 mcB 的变量 mcB_var ,只需用点运算符,向下访问一级,表示如下:

mcB._mcB_var;

  同样的,要在 mcB 的时间轴上访问 mc2 中的变量,表示如下:

mc2._mc2_var;

  要在 _root 的时间轴上访问 mc2 中的变量,要向下访问二级,表示如下:

mcB.mc2._mc2_var;

要在 mc2 的时间轴中访问 mc1 中的变量 mc1_var ,先向上访问二级,再向下访问二级,表示如下:


_parent._parent.mcA.mc1.mc1_var;

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

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

  ( 1 )在 mcA 中访问 mc2 中的变量。

  ( 2 )在 mc2 中访问 mcA 中的变量。

  分别用 trace() 语句输出。

  注意: 在定义主场景中按钮的动作脚本时,访问主场景中的变量不用加路径。

  通过【动作】面板的【插入目标路径】按钮可把实例的路径自动添加到【动作】面板中,这给编程带来了很多方便。


  打开源文件“ 2-14.fla ”,单击第 1 帧,按 F9 打开【动作】面板,单击【动作】面板上的【插入目标路径】按钮 ,弹出【插入目标路径】对话框,如图 2.21 所示。


  利用【插入目标路径】对话框可添加实例的相对路径和绝对路径。单击【插入目标路径】对话框中【绝对】单选按钮,再单击要插入目标路径的实例名,即可显示出相关实例的绝对路径,单击【确定】按钮可把路径添加到动作面板中。


  双击主场景中的实例 mcB ,单击时间轴的第 1 帧,打开【动作】面板上的【插入目标路径】对话框, 单击【相对】单选按钮,再单击要插入目标路径的实例名,可显示出相关实例的相对路径。

另外,要获取相对路径还可用上一节的方法:先获得绝对路径,理清楚各个影片剪辑实例的层次关系,再决定向上还是向下访问。

上一篇:{技巧}AS2.0编程-动态路径 人气:4050
下一篇:{技巧}AS2.0编程-路径 人气:2303
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058