Flash中 MC事件参数详解
人气:0想了解Flash中 MC事件参数详解的相关内容吗,在本文为您仔细讲解的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Flash中,MC事件参数详解,下面大家一起来学习吧。
MC的事件说明如下: Load:当MC 被装载进来的时候发生此事件
EnterFrame:当MC被卸载的时候发生此事件
MouseDown:当鼠标左键被按下时发生此事件
MouseUp:当鼠标左键被松开时发生此事件
MouseMove:当鼠标移动的时候发生此事件
Keydown:当键盘按钮被按下时发生此事件
Keyup:当键盘按钮被松开时发生此事件
Data:使用loadVariable或者loadMovie动作,当接受到数据时,发生此事件
MovieClip (对象)
MC对象的方法中,规定了一些操作MC目标的标准动作。另外,还提供了Action 面板所列出的标准动作之外的额外功能。你调用MC对象的方法时,不需要先调用构造函数,相反,你可以使用下面的语法来直接引用MC的实体名字。
anyMovieClip.play();
anyMovieClip.gotoAndPlay(3);
MovieClip对象方法列表:
方法 说明
attachMovie 绑定库中的一段movie。
duplicateMovieClip 复制指定的movie clip。
getBounds 返回指定的坐标空间中Movie的最大和最小X、Y坐标值。
getBytesLoaded 返回指定MC中被载入的字节数。
getBytesTotal 返回指定MC的字节总数。
getURL 执行URL请求。
globalToLocal 将指针对象从主场景中的坐标系转换到指定MC的本地坐标系中。
gotoAndPlay 跳到MC中的指定帧并开始播放动画。
gotoAndStop 跳到MC中的指定帧并停止播放动画。
hitTest 如果指定MC的范围与目标MC的范围交叉的话,返回true。
loadMovie 将指定的动画载入到MC中。
loadVariables 从URL或者其他位置中载入变量到MC中。
localToGlobal 将指针对象从MC的本地坐标系中转换到主场景中的坐标系中。
nextFrame 播放MC的下一帧。
play 播放指定的MC
prevFrame 播放MC的前一帧。
removeMovieclip 将用duplicateMovieClip动作或者attachMovie方法产生的MC从时间线上删除。
startDrag 指定一个MC为可拖动的,并开始拖动这个MC。
stop 停止当前动画的播放。
stopDrag 停止当前被拖动的任何MC。
swapDepths 将指定的MC与指定深度值所在的MC进行深度值的互换。
unloadMovie 将用loadMovie载入的动画删除。
MovieClip.attachMovie
语法:
anyMovieClip.attachMovie(idName, newname, depth);
参数:
idName 要绑定的库中Movie的名字。这个名字就是元素的Linkage Properties对话框中输入的标识名。
newname 就是被绑定MC的实体名,必须是唯一的。
depth 一个整数值,用来指定MC所在的深度值。
说明:
方法;为库中的动画产生一个新的实体,并绑定指定的anyMovieClip中。使用 removeMovieClip 或者 unloadMovie 动作或者方法可以删除绑定的动画。
播放器:
Flash 5 或以后版本。
参考:
removeMovieClip
unloadMovie
MovieClip.removeMovieClip
MovieClip.unloadMovie
MovieClip.duplicateMovieClip
语法:
anyMovieClip.duplicateMovieClip(newname, depth);
参数:
newname 复制MC使用的唯一标识,(就是实体名)。
depth 复制的MC所在的深度值。
说明:
方法;在动画运行当中产生指定MC的新实体。 产生的MC总是在第一帧开始播放,而不管在复制MC时原始MC处于哪一帧。原始MC中的变量将不复制到新生成的MC中。如果原始MC被删除,那么由它复制的MC也将被删除。通过 duplicateMovieClip 产生的MC可以使用 removeMovieClip 动作或者方法来删除。
播放器:
Flash 5 或以后版本
参考:
removeMovieClip
MovieClip.removeMovieClip
MovieClip.getBounds
语法:
anyMovieClip.getBounds(targetCoordinateSpace);
参数:
targetCoordinateSpace 作为转换参考点使用的那个坐标系所在的目标路径。
说明:
方法;返回MC在参数中指定的目标坐标系中的x,y坐标范围。返回的对象中包含有以下属性 {xMin, xMax, yMin, yMax}. 使用MC对象的 localToGlobal 和 globalToLocal 方法可以实现本地坐标系和主场景坐标系之间的相互转换。
播放器:
Flash 5 或以后版本
例子:
下面的例子中,使用 getBounds 来获取 myMoviceClip 实体在主场景坐标系中的坐标范围:
myMovieClip.getBounds(._root);
参考:
MovieClip.globalToLocal
MovieClip.localToGlobal
MovieClip.getBytesLoaded
语法:
anyMovieClip.getBytesLoaded();
参数:
无
说明:
方法;返回指定MC对象被载入的字节数。因为内部的MC是自动装载的,所以当MC对象是指定一个内部MC时,这个方法的返回值和MovieClip.getBytesTotal返回值是相同的。这个方法是特别用来在载入动画中使用的,你可以通过比较getBytesLoaded与getBytesTotal来知道外部动画载入的百分比。
播放器:
Flash 5 或以后版本
MovieClip.getBytesTotal
语法:
anyMovieClip.getBytesTotal();
参数:
无
说明:
方法;返回指定MC对象的字节总数。对于外部的MC,(主动画或者是被载入到一个目标MC或层之中的MC),返回值就是SWF文件的大小。
播放器:
Flash 5 或以后版本。
MovieClip.getURL
语法:
anyMovieClip.getURL(URL [,window, variables]]);
参数:
URL 要执行的URL请求操作。
window 可选参数,指定URL响应所在的窗口名或者帧名。 你也可以使用下面的目标名: _self 使用当前窗口中的当前帧,_blank 指定一个新的窗口,_parent 指定当前帧的父窗口, _top 指定当前窗口的最顶级窗口。
variables 可选参数,指定传递变量的方法,如果不传递变量,就忽略这个参数;否则,指定变量的传递方法为GET或者POST。 GET方法将变量加到URL的末尾,通常在变量较少的时候使用。POST 将变量以分隔开来的HTTP头传递变量,通常在传递变量较长时使用。
说明:
方法;在特定的窗口中执行特定的URL响应。getURL方法也可以用来传递变量到URL定义的另一个应用中,通过GET或者POST的方法。
播放器:
Flash 5 或以后版本
MovieClip.globalToLocal
语法:
anyMovieClip.globalToLocal(point);
参数:
point 一个以x,y坐标为属性的对象(这里暂时叫指针对象吧),这个对象是通过产生新的generic Object对象获得的。
说明:
方法; 将指针对象从主场景坐标系转换到MC的本地坐标系中。
播放器:
Flash 5 或以后版本
例子:
下面的例子将包含有主场景的x,y坐标的指针对象转换成MC中的本地坐标。
onClipEvent(mouseMove) {
point = new object();
point.x = _root._xmouse;
point.y = _root._ymouse;
globalToLocal(point);
_root.out = _xmouse + " === " + _ymouse;
_root.out2 = point.x + " === " + point.y;
updateAfterEvent();
}
参考:
MovieClip.localToGlobal
MovieClip.getBounds
MovieClip.gotoAndPlay
语法:
anyMovieClip.gotoAndPlay(frame);
参数:
frame 播放头将要被设置的帧位置(就是要开始播放的帧位置)。
说明:
方法;在指定的帧数开始播放动画。
播放器:
Flash 5 或以后版本。
MovieClip.gotoAndStop
语法:
anyMovieClip.gotoAndStop(frame);
参数:
frame 播放头所要移到的帧位置。
说明:
方法;跳到指定的帧并停止动画的播放。
播放器:
Flash 5 或以后版本。
MovieClip.hitTest
语法:
anyMovieClip.hitTest(x, y, shapeFlag);
anyMovieClip.hitTest(target);
参数:
x 在主场景中点击区的x坐标。
y 在主场景中点击区的y坐标。
x,y坐标都是定义在主场景的坐标系中的。
target 判断anyMovieClip这个实体所要相交的目标MC。这个目标通常是表现为一个按纽或者是文本框。
shapeFlag 是一个布尔值,当为(true)值时,将根据实体的外型进行判断,当为(false)值时,则简单地按照实体的范围框(即按照MC的上下左右范围)进行判断。这个参数只用在第一种形式中。
说明:
方法;判断指定的anyMovieClip是否和另外一个MC或者用x.y坐标指定的点交叉。
第一种用法将指定实体的外形或者范围框(通过shapeFlag设置)与x,y坐标的点相比。如果shapFlag为true,那么使用实体中的实际外形进行比较,实体中任何一个点经过(x,y)这个点时,该方法返回值true。这在判断MC的指定点击区(热区)时非常有用。
第二种用法判断指定实体和目标的范围框是否交叉,它们任何点的交叉将导致返回值为true。
播放器:
Flash 5 或以后版本
例子:
下面的例子判断你的MC实体 yourmc 是否经过点(100,200):
if ( yourmc.hitTest( 100 , 200 , false ) ); //(100,200)为你判断的点的坐标
其中最后一个参数: false 判断 yourmc 的范围框(上下左右范围)是否经过(100,200)的点
true 判断 yourmc 的实际外形是否经过(100,200)的点
下面的例子利用hitTest与x_mouse和y_mouse参数来判断鼠标是否经过目标MC的范围:
if (hitTest( _root._xmouse, _root._ymouse, false)); (请放在MC的onClipEvent (enterFrame)事件中,否则看不到效果)
下面的例子判断MC实体ball是否与另一MC实体square交叉:
if(_root.ball.hittest(_root.square)){
trace("ball intersects square");
}
参考:
MovieClip.localToGlobal
MovieClip.globalToLocal
MovieClip.getBounds
MovieClip.loadMovie
语法:
anyMovieClip.loadMovie(url [,variables]);
参数:
url 到要载入的SWF文件的绝对或者相对的URL路径。相对路径必须连接到SWF文件中。URL路径必须在当前动画所在路径的同一个子域。当使用FLash播放器或者在FLash中使用Test-mode模式直接测试时,所有的SWF文件必须放在同一个目录下,文件名中不能包含有文件夹名以及驱动器名。
variables 可选参数;指定载入动画时关联变量使用的方法。这个参数必须是字符串"GET"或者"POST"。如果没有变量相关联,就忽略这个参数。否则指定载入变量的方法为GET或者POST。GET方法将变量加到URL的末尾,通常在变量较少的时候使用。POST 将变量以分隔开来的HTTP头传递变量,通常在传递变量较长时使用。
说明:
方法;在不关闭Flash播放器的情况下,播放附加的动画。通常情况下,Flash播放器播放单一的动画(SWF文件)。loadMovie方法允许你一次播放多个动画或者不经过任何HTML请求在动画之间跳转。
使用unloadMovie动作来删除有loadMovie动作载入的动画。
使用loadVariables方法来保持当前动画,同时将一些变量值更新为新的值。
播放器:
Flash 5 或以后版本
参考:
MovieClip.loadVariables
MovieClip.unloadMovie
MovieClip.loadVariables
语法:
anyMovieClip.loadVariables(url, variables);
参数:
url 外部文件的绝对或者相对URL路径。URL的主机名必须在当前动画所在的子域中。
variables 返回变量的方法。GET方法将变量加到URL的末尾,通常在变量较少的时候使用。POST 将变量以分隔开来的HTTP头传递变量,通常在传递变量较长时使用。
说明:
方法;从外部的文件中读取数据,设置动画或者MC的变量。这个外部的文件可以是CGI、ASP、PHP程序产生的文本文件,而且可以包含任何数量的变量。
这个方法可以用来将当前动画的变量值更新为新的值。
这个方法要求用URL连接的文本必须是标准的MIME格式文本:
application/x-www-urlformencoded (CGI 程序格式).
播放器:
Flash 5 或以后版本
参考:
MovieClip.loadMovie
MovieClip.localToGlobal
语法:
anyMovieClip.localToGlobal(point);
参数:
point 一个以x,y坐标为属性的对象(这里暂时叫指针对象吧),这个对象是通过产生新的generic Object对象获得的。
说明:
方法;将指针对象从MC的本地坐标系转换到主场景坐标系中。
播放器:
Flash 5 或以后版本
例子:
下面的例子将指针对象从MC本地的X,Y坐标转换到主场景坐标系中。本地的X,Y坐标是使用xmouse 和ymouse来获取的。
onClipEvent(mouseMove) {
point = new object();
point.x = _xmouse;
point.y = _ymouse;
_root.out3 = point.x + " === " + point.y;
_root.out = _root._xmouse + " === " + _root._ymouse;
localToGlobal(point);
_root.out2 = point.x + " === " + point.y;
updateAfterEvent();
}
参考:
MovieClip.globalToLocal
MovieClip.nextFrame
语法:
anyMovieClip.nextFrame();
参数:
无
说明:
方法;将MC的播放头设置在下一帧。
播放器:
Flash 5 或以后版本
MovieClip.play
语法:
anyMovieClip.play();
参数:
无
说明:
方法;拨放MC。
播放器:
Flash 5 或以后版本。
MovieClip.prevFrame
语法:
anyMovieClip.prevFrame();
参数:
无
说明:
方法;将播放头设置为前一帧并停止播放。
播放器:
Flash 5 或以后版本。
MovieClip.removeMovieClip
语法:
anyMovieClip.removeMovieClip();
参数:
无
说明:
方法;删除MC实体,该MC实体是通过duplicateMoviceclip动作,或者通过MC对象的attachMovie方法所产生的。
播放器:
Flash 5 或以后版本。
参考:
MovieClip.loadMovie
MovieClip.attachMovie
MovieClip.startDrag
语法:
anyMovieClip.startDrag([lock, left, right, top, bottom]);
参数:
lock 一个布尔值,当为(true)时,可拖动的MC将锁定在鼠标的中心;当为(false)时,可拖动的MC将锁定在用户第一次点击这个MC的位置。这个参数是一个可选参数。
left, top, right, bottom 限定拖曳MC约束范围的参数,这些参数是可选参数。
说明:
方法;允许用户拖动指定的MC。这个MC将一直保持可拖动状态直到执行了stopDrag方法,或者是将其他的MC设置为可拖动状态。在同一时间内,只有一个MC能被拖动。
播放器:
Flash 5 或以后版本
参考:
MovieClip.stopDrag
_droptarget
MovieClip.stop
语法:
anyMovieClip.stop();
参数:
无
说明:
方法;停止当前MC的播放。
播放器:
Flash 5 或以后版本。
MovieClip.stopDrag
语法:
anyMovieClip.stopDrag();
参数:
无。
说明:
方法;停止正在执行的startDrag方法。当一个MC执行startDrag方法后,这个MC将一直保持可拖动状态直到执行了stopDrag方法,或者是将其他的MC设置为可拖动状态。在同一时间内,只有一个MC能被拖动。
播放器:
Flash 5 或以后版本。
参考:
_droptarget
MovieClip.startDrag
MovieClip.swapDepths
语法:
anyMovieClip.swapDepths(depth);
anyMovieClip.swapDepths(target);
参数:
target 一个MC实体,它的深度值将和anyMovieClip指定的那个实体的深度值进行交换。两个实体必须要有相同的父MC。
depth 指定anyMovieClip所要放置的深度值。
说明:
方法;交换指定实体同参数指定的目标或者深度所在的MC之间的z值或者说层叠顺序(深度)。两个实体必须要有相同的父MC。交换实体的深度值的作用效果是将一个实体放置到另一个实体的前面或者是后面。转换深度时,如果MC正在进行过渡,则MC的过渡将停止。(经过测试,停止的是当前MC的过渡动作,并不是MC内部的过渡动作等。)
播放器:
Flash 5 或以后版本
参考:
_level
MovieClip.unloadMovie
语法:
anyMovieClip.unloadMovie();
参数:
无
说明:
方法;将用loadMovie 或者 attachMovie 方法载入的MC删除。
播放器:
Flash 5 或以后版本
参考:
MovieClip.loadMovie
MovieClip.attachMovie
加载全部内容