首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 网络媒体 → FLASH → 文章内容

Flash MX 编程深层次应用-ActionScript编程(4)

作者:风未起时  来源:中国站长学院  发布时间:2007-2-8 0:34:01
 
1.3 点符号和路径

    

1.3.1  对象和点符号

因为ActionScript是一种面向对象的编程语言,所以对于ActionScript来说,最重要的概念就是对象了。对象是Flash动画中ActionScript 可以操纵的最基本的单元。每一个Symbol物件都可以被声明成对象。在成为对象之后,就会拥有一些属性、一些方法,ActionScript就是通过改变这些对象的属性,调用对象的方法来完成对动画的操纵的。

同一种类型的对象都从它的对象原型(称为它的父对象)那里继承了一些相同的属性和方法。例如,Graphic Symbol在被声明成对象之后,都会拥有_xscale和_yscale(X轴和Y轴的缩放比例)这两个属性。这是它们从同一个父对象处继承来的。

既然不同的对象会有相同名字的属性或方法,那么ActionScript如何知道要去控制哪一个对象的属性和方法呢?这就需要用到点符号“.”。

在点符号之前(左侧)是对象或上一层的对象,在点符号后面(右侧)则是该对象的属性、方法或下一层的对象。举个例子看一下也许会更清楚:

Object是一个对象,它有一个属性property和一个方法Method()。如果要读取或是给它的属性赋值,应该这样做:

a=Object.property;  //读取属性property中的值并赋给变量a

Object.property=b;  //将变量b中的值赋给属性property

如果要调用Object对象的一个方法,应该这样做:

Obejct.Method();   //调用Object对象的Method()方法

或者

a=Object.Method();  //将Object对象的Method()方法的返回值赋给变量a


1.3.2  多层式对象结构

在上面的这些例子中,点符号仅仅是作为分隔对象和属性方法使用的。其实,在实际应用中,点符号还有更大的用途。

在Flash动画中,每一个对象就像文件系统中的一个文件,都有自己的一个路径。整个Flash的舞台(Stage)就相当于文件系统的根目录,舞台上的对象就像是根目录上的文件。在文件系统中,会有目录(Directory)的概念,有一部分某些性质相同的文件被放在同一个目录下面,目录中也可以有子目录。相应的,在Flash中,Movie Clip被声明成对象后,就充当起了目录的角色。所以在MovieClip中的物件被声明成了对象后,就相当于目录中的文件一样,被称为是对象中的对象。当然在Movie Clip中也可以再包含Movie Clip,所以,“目录中的目录”的情况在Flash的多层式对象结构中也会出现。看一个例子也许会更清楚一些:

在图1-5中,舞台是第一层,是根,在舞台上有MC1和MC2两个MC对象,以及一个Graphics Symbol对象GS1,MC1和MC2就形成了第二层;在MC1中又有GS2和GS3两个Graphics Symbol对象,MC2中还有一个MC3对象,它形成了第三层;MC3中有一个GS4,它是第四层。

如何在ActionScript中来表示这些对象的绝对路径?这就需要用到点符号。点符号的作用和文件系统中的目录分隔符“/”(UNIX)或“\”(Windows)类似。

 
 
 

 

 

 

 

 

 

 

 

 

 


          根                     第二层                     第三层            第四层

图1-5

根对象不用声明,在Flash ActionScript中可以直接使用_root关键字来表示。关于_root关键字将在下面的章节中详细说明。

MC1,MC2和GS1对象的绝对路径分别是:

_root.MC1

_root.MC2

_root.GS1

GS2,GS3和MC3对象的绝对路径分别是:

_root.MC1.GS2

_root.MC1.GS2

_root.MC2.MC3

GS4对象的绝对路径是:

_root.MC2.MC3.GS4

结合上一小节说过的概念来更进一步地讲,如果GS4有一个属性property,一个方法Method(),我们可以这样访问:

a=_root.MC2.MC3.GS4.property;  //读取GS4对象的属性property中的值并赋给变量a

_root.MC2.MC3.GS4.property=b;  //将变量b中的值赋给GS4对象的属性property

_root.MC2.MC3.GS4.Method();   //调用GS4对象的Method()方法

使用点符号使得访问对象的层次十分清晰,这也是所有面向对象语言的特点。

在理解了ActionScript的多层对象和文件系统的目录结构的相似性后,就要了解一下在ActionScript编程中和对象层次关系非常密切的三个关键词_root,_parent和this了。

1._root关键词,用来表示根对象——舞台

不管程序放在哪一个层级的对象中,都可以使用_root关键词来引用根对象。还是和文件系统对应,_root这个关键词就相当于/(UNIX)或\(Windows)在文件系统中的作用。在上面的一些关于对象的绝对路径的例子中,都是以_root关键词开始的。记住,Flash ActionScript中所有对象都在_root根对象(舞台Stage)中。

2._parent关键词,用来表示上一层的对象

_parent关键词的作用就和文件系统中的“..”(回上一层)相似。在Flash中,ActionScript代码被存放的对象路径就是执行这段代码时,默认的当前对象路径。例如,将ActionScript代码放在GS2中,这样在这段代码执行的时候,它的默认路径就是_root.MC1.GS2。如果要在MC2对象的ActionScript中引用GS3对象,可以这样写:

_parent.GS3

当然也可以使用_root关键词:

_root.MC1.GS3

_parent指的是上一层的对象,所以如果要引用上一层对象的属性或方法,也可以使用_parent关键词。例如,在GS2中引用MC1的property属性和Method()方法如下:

a=_parent.property;

_parent.Method();

3.this关键词

this关键词是用得最多的关键词,它表示当前的对象,作用类似于文件系统中的“.”(当前目录)。例如,在GS2对象中引用自己的属性property,虽然可行,但是不必要这样使用:

a=_root.MC1.GS2.property;

或

a=_parent.GS2.property;

因为当前对象就是GS2,所以可以使用this关键词:

a=this.property;

这样做非常简练和方便。同样的道理,在调用当前对象的方法时,也可以一样使用this关键词。例如,在GS对象中调用GS2的Method()方法:

this.Method();

[] [返回上一页] [打 印]
  • 上一篇文章:Flash MX 编程深层次应用-ActionScript编程(3)
  • 下一篇文章:Flash MX 编程深层次应用-ActionScript编程(5)

  • 相关文章:
  • Flash中if条件语句的用法
  • [组图]教你利用Flash制作梦幻仙境效果
  • [组图]用Flash制作简单光晕效果的
  • flash菜单与asp.net进行交互
  • Delphi让你发送Flash电子邮件(2)
  • Delphi让你发送Flash电子邮件(1)
  • Delphi让你发送Flash电子邮件
  • Delphi的两个实用技巧(1)播放Flash
  • 类似于FlashGet的悬浮框的制作
  • 让Word也来播放Flash动画
  • [图文]把Word文件转换成Flash
  • 基于S3C4510B的系统的Flash擦除与烧写问题(一)
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号