当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 土人AS入门教程对象篇

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

Flash动画制作 中的 土人AS入门教程对象篇


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 36 ::
收藏到网摘: n/a

虽然AS不是真正的面向对象的编程,但是它也有对象的概念。这个概念贯穿整个AS的始终,所以,对对象的理解,比对语法或者其他的理解更为重要。现在开始吧:

首先,我们来了解一下路径,路径分两种:绝对路径和相对路径。做过html的朋友应该知道这个概念。但这里我还是要详细解释一下,我认为对路径的理解要深入,我初学的时候就是磕在路径上。

在讲路径之前,有必要先讲一下 .语法 : 举例说明,这里要表示房间里的桌子上的一本书,用 .语法这么表示:

房间.桌子.书

如果要再细到书上的页上面的字,很显然

房间.桌子.书.页面.字

看明白了吧?我也不懂得怎么说, .语法就是这样表示对象的,点的前面是其后面的父级。如房间是桌子的父级,桌子的子级就是书。还是不明白?这样吧,你把 . 里写成“里面的”就可以了,这样就是:

房间(里面的)桌子(里面的)书(里面的)页面(里面的)字

这样容易多了吧?

现在我开始说路径了,其中也要夹杂的对象的说明,看:

从例子入手。新建一个Flash文件,然后创建一个MovieClip,MC命名为“MC”,放在主场景里面,然后再创建一个按钮,放在“MC”里面,然后从库里面拖一个出来放在主场景,分别给这两个元素实例命名(Instance Name , 注意是实例名不是MC的名字):MC->myMC button->myBtn

现在我们假设主场景是房子,MC是桌子,按钮是书,那么分别怎么表达房子,桌子,书呢?如下:

_root 房子

_root.myMc 房子.桌子

_root.myMc.myBtn 房子.桌子.书

这里的 _root 是Flash的关键字,表示主场景的 Timeline (时间线)。

很容易理解对不。这里的 房子,桌子,书 都是我们要理解的“对象”。

当你找到这个对象后,才能对对象进行操作,才能给对象施加方法。比如,我现在要打扫房子,打扫是方法,但对象是房子,表达式是这样:

房子.打扫()

如果你不能正确的表达房子这个对象,你的打扫也就不能正确的实施了。

*说明:这里为什么要在打扫后面加()呢?因为打扫是方法不是对象,为了让Flash知道这是个方法,我们必须加上(),要不然它会以为房子里面有“打扫”这个东西。

现在,我们可以很容易的对房间里面的各个东西进行操作,如:

房子.打扫();

房子.木桌子.整理();

房子.玻璃桌子.打碎();

房子.书桌.书.看();

等等,相信你把它们"翻译"成AS代码没什么问题吧 :) 比如要主场景停止播放,就是

_root.stop();

要MC停止播放,就是

_root.myMc.stop();

现在说说相对路径。还是上面的例子。假如给你下了一个命令:修理房子里面的红色的椅子。那么怎么表达呢?就是:

房子.红色椅子.修理();

无论给你下命令的人在哪里告诉你的,你都会知道要修理的椅子是哪一张。但是他如果这么说:修理你现在坐的这张椅子。红色的?还是蓝色的?这就要取决于你坐在哪个椅子上了。那么相对的表达式就是。

我坐的椅子.修理();

这里为什么不这么写呢:

房子.我坐的椅子.修理();

这么写是错的,因为我坐的椅子是不固定的,我说不定把椅子搬到房子外面去坐,那这个表达式就错了,因为椅子根本就不在房子里面。

换过来用Flash实例说明。现在我想让主场景下的 myMC 在一开始就不要播放,而是先停止。那么你有什么办法呢?

我你猜想到的办法可能就是在主场景放入这个MC的那个帧写上: