学院首页>图形图像>FLASH>Flash MX 编程深层次应用-ActionScript编程(6)

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

作者: 来源: 添加时间:2006-5-23 7:26:41
1.4 对象的属性和方法(2)

 

8.getURL(url [,windows]);

打开超文本连接。参数url是设置调用网页网址,可选参数windows指定了在哪一个HTML框架中打开超文本连接,如果不使用这个参数则在当前窗口打开超文本连接。下文中的“[ ]”都和这里一样,表示该参数可选。

例:getURL(“http://www.webtechina.com”);  //打开www.webtechina.com的网页

9.loadMovie(url [,location/target, variables]);

将另一个SWF文件加载到动画或某一个Movie Clip中。

参数url 是需要载入的swf的文件位置,location/target 是swf载入后在动画中的深度或位置,variables 是表示是否需要传递参数,有post和get两种选项。

例子:比如我们需要载入myLoadMovieTest.swf影片到根场景的MC1上去,就用loadMovie("myLoadMovieTest.swf",_root.MC1);

10.unloadMovie(location);

把以前曾载入到指定深度层次的 Flash 动画卸载。

参数location 是要卸载的电影剪辑实体的深度层次。

下面的例子会把主动画卸载,留下空白的舞台:

unloadMovie(_root);

当浏览者按下写有下列代码的按钮时,会把第 15 深度层次的动画卸载:

on(press) {

unloadMovie(_level15);

}

11.duplicateMovieClip(target, newname, depth);

把当前的Movie Clip复制成一个新的Movie Clip。不管原来的Movie Clip已经播放到第几帧,新的Moive Clip都将从第1帧开始播放,原Movie Clip中的变量将不会被复制。当原Movie Clip被删除时,复制的Movie Clip也会被删除。使用removeMovieClip()方法可以删除用duplicateMovieClip()方法复制生成的Movie Clip。

target  指明了要将当前的Movie Clip复制到的目标路径。

newname  指明了复制后新的Movie Clip的名字。

depth  是复制层次,就像时间线(Timeine)上的Layer层级一样,复制对象也有自己的层次。可以将不同对象复制到不同的层次中,形成遮挡的效果。注意:复制的层次和时间线的Layer层级又是完全不同的概念。每一个复制层次只能放一个复制的对象,如果两个不同对象被复制到同一复制层次,则后复制进来的对象会取代前一个对象。

例子:鼠标按下后,把GS1对象复制到_root.MC1中,复制层次1,新的对象名为newInstance。

on (release) {

duplicateMovieClip (_root.MC1, "newInstance", 1);

}

12.onClipEvent(movieEvent){ ... }

在对Movie Clip或Graphics Symbol对象指定的事件发生时响应。

参数

movieEvent  是和电影剪辑实体相联系的一个动作事件,它可以是下列值:

Ö  load  电影剪辑实体在时间轴(timeline)中出现时激活事件。
Ö  unload  电影剪辑实体在时间轴(timeline)中卸载后的第一帧时激活事件,在这一帧里,unload 比其他任何事件都要优先响应。
Ö  enterFrame  在播放到某一帧时激活事件,在这一帧里,OnEnterFrame 会在其他任何事件之后才响应。
Ö  mouseMove  只要鼠标移动就激活事件。使用 _xmouse 和 _ymouse 属性可以确定当前鼠标的坐标。
Ö  mouseDown  鼠标左键按下时激活事件。
Ö  mouseUp  鼠标左键松开时激活事件。
Ö  keyDown  当某一键被按下时激活事件。使用 Key.getCode 方法可以获得最后一个被按下的键的信息。
Ö  keyUp  当某一键被松开时激活事件。使用 Key.getCode 方法可以获得最后一个被按下的键的信息。
Ö  data  在 loadVariables 或 loadMovie 动作读入数据时激活事件。当指定了一个 loadVariables 动作后,data 事件只在读入最后一个变量时响应一次。当指定了一个 loadMovie 动作后,data 事件会每读入一段数据就响应一次,直到把数据全部载入。

例1:下面的例子将在加载电影剪辑的时候读入外部的 Script 程序文件:

onClipEvent(load) {

#include "myScript.as"

}

例2:在下面的例子中,onClipEvent 使用了 keyDown 事件和key.getCode。keyDown 事件经常和一个或几个 Key 对象的方法或属性连用;key.getCode 被用来获取浏览者最后一次按下的键的键值,然后再和 Key 对象的 RIGHT 和 LEFT 属性做比较来执行不同的程序:

onClipEvent(keyDown) {

if (Key.getCode() == Key.RIGHT) {

_parent.nextFrame();

} else if (Key.getCode() == Key.LEFT){

_parent.prevFrame();

}

}

例3:下面的例子使用 mouseMove 事件,同时使用 xmouse 和 ymouse 属性获取鼠标当前的坐标值:

onClipEvent(mouseMove) {

stageX=_root.xmouse;

stageY=_root.ymouse;

}

13.removeMovieClip(target);

删除由 duplicateMovieClip,attachMovie 或 duplicateMovie 方法创建的Movie Clip或Graphics Symbol对象。

参数target 是由 duplicateMovieClip 创建的目标Movie Clip或Graphics Symbol对象名,或是由 attachMovie 或 duplicateMovie 方法创建的Movie Clip或Graphics Symbol对象的实体名。

14.setProperty("target", property, value/expression);

设置指定的实例对象中属性的值。参数target是目标对象,property是要设置的属性,value/expression是要设定的属性的值,它可以是一个值或是一个表达式。

例子:鼠标按下后,设定MC1对象的不透明度为30%。

on(release) {

   setProperty("_root.MC1", _alpha, "30");

}

15.startDrag(targat [,lock[,left,top,right,bottom]]);

开始用鼠标拖动MovieClip或Graphic Symbol对象。参数targat 是要拖曳的对象,lock参数用来确定是否锁定中心拖曳,参数left,top,right,bottom是拖曳的范围的坐标。在这里,lock和left,top,right,bottom参数都是可选的。

例:startDrag(_root.MC1);  //开始拖动_root.MC1对象

16.stopDrag(target);

停止用鼠标拖动MovieClip或Graphic Symbol对象。参数targat 是被拖曳的对象。

例:stopDrag(_root.MC1);  //停止拖动_root.MC1对象


17.updateAfterEvent(movie clip event);

当参数中指定的动作发生后,刷新屏幕 (取决于动画设定中的每秒播放帧数项) 。在 drag 动作中同时使用鼠标移动来激活 updateAfterEvent,刷新屏幕将不会造成屏幕的闪烁。

参数movie clip event可以指定为下列的一个值作为参数:

Ö  mouseMove  判断鼠标是否移动,使用 _xmouse 和 _ymouse 属性能够确定当前鼠标的坐标。
Ö  mouseDown  判断鼠标左键是否按下。
Ö  mouseUp  判断鼠标左键是否松开。
Ö  keyDown  判断某一键是否被按下,使用 Key.getCode 方法能够获得最后一个被按下的键的信息。
Ö  keyUp  判断某一键是否被松开,使用 Key.getCode 方法能够获得最后一个被按下的键的信息。

18.trace(expression);

当调试一个动画的时候,trace 动作会把要调试的语句的结果在输出窗口中输出。在调试的时候使用 trace,能够在输出窗口记录下所要得到的信息或是检查中间变量的值的变化情况。trace 动作和 JavaScript 中的 alert 函数非常相似。参数expression是要输出的值、变量或者表达式。

例子:

trace(i);  //输出变量i的值

trace("abcdef");  //输出字符串“abcdef”

trace(a+b-c);  //输出表达式a+b–c的值

站内搜索