|
|
 Flash
MX ActionScript字典
|
|
|
MovieClip(对象)
MovieClip类提供了一些同用于操纵电影片断的方法,这些方法在Flash 5中才得以支持,用来替代以前版本中的一些动作。MovieClip类没有提供构造函数,因为任何一个MC对象指针都指向了一个实际存在的电影片断,直接调用该对象的方法就能操纵它所指向的电影片断了,如:
myMovie.play();
myMovie是指向一个电影片断的指针。MC对象是依赖于电影片断的,不指向任何一个电影片断的MC对象指针是不存在的。
方法
|
attachMovie
|
从物件库中载入一个动画。
|
|
creatEmptyMovieclip
|
建立一个空的电影片断
|
|
creatTextField
|
建立一个空的文本域
|
|
duplicateMovieClip
|
复制一个电影片断。
|
|
getBounds
|
返回电影片断的边框坐标
|
|
getBytesLoaded
|
返回指定动画已经被载入的字节数。
|
|
getBytesTotal
|
返回指定动画总的字节数。
|
|
GetDepth
|
获取电影片断的深度
|
|
getURL
|
从指定的URL地址载入文档。
|
|
globalToLocal
|
将全局坐标转换成当前电影片断坐标系下的局部坐标。
|
|
gotoAndPlay
|
跳转到指定帧并继续动画的播放。
|
|
gotoAndStop
|
跳转到指定帧并停止动画的播放。
|
|
hitTest
|
如果当前电影片断同指定的电影片断边界相交则返回true。
|
|
loadMovie
|
载入一个电影片断。
|
|
loadVariables
|
从一个URL地址或其他位置载入变量到当前电影片断。
|
|
localToGlobal
|
将当前电影片断坐标系下的局部坐标转换成全局坐标。
|
|
nextFrame
|
播放下一帧。
|
|
play
|
播放指定的动画。
|
|
prevFrame
|
播放前一帧。
|
|
removeMovieClip
|
删除由duplicateMovieClip语句复制出来的电影片断。
|
|
SetMask
|
指定该电影片断作为另一个电影片断的遮罩
|
|
startDrag
|
使电影片断进入拖动状态。
|
|
stop
|
停止动画播放。
|
|
stopDrag
|
终止电影片断的拖动状态。
|
|
swapDepths
|
同指定的电影片断交换深度值。
|
|
unloadMovie
|
删除由loadMovie语句载入的电影片断。
|
电影片断的绘画方法
Flash MX提供了action实时绘画功能。
|
方法
|
描述
|
|
BeginFill
|
在舞台上开始绘画一个单色填充域
|
|
BeginGradintFill
|
在舞台上开始绘画一个渐变填充域
|
|
Clear
|
清除一个电影片断所有的绘画命令
|
|
CurveTo
|
用最近使用的一种线条方式画一曲线
|
|
EndFill
|
停止用beginFill或着 beginGradientFill绘制的填充
|
|
LineStyle
|
设定用lineto和curveto绘制的线条方式
|
|
LineTo
|
用当前线条格式绘制直线
|
|
moveTo
|
移动当前画线方向到指定坐标
|
电影片断属性列表:
|
方法
|
描述
|
|
_alpha
|
电影片断实例的透明度属性
|
|
_currentframe
|
播放头所在的电影片断当前播放的帧数
|
|
_droptarget
|
在停止拖拽对象的同时用slash语法返回改电影片断实例的绝对路径
|
|
Enabled
|
显示一个按钮电影片断是否可用
|
|
FocusEnabled
|
启用一个电影片断接收焦点
|
|
_focusrect
|
当前焦点所在的电影片断对象是否显示黄色矩形框
|
|
_framesloaded
|
一个流式数据传输的电影片断已经下载的帧数
|
|
_height
|
以像素为单位返回当前电影片断的高度
|
|
Hitarea
|
指定另外一个电影片断作为按钮电影片断的监测区域
|
|
_hightquality
|
设置电影片断的渲染质量为高质量
|
|
_name
|
电影片断实例的实例名
|
|
_parent
|
从该电影片断的目前层级往上一层
|
|
_rotation
|
设置或者返回电影片断的旋转角度
|
|
_soundbuftime
|
声音流在比方之前的缓冲时间
|
|
Tabchildren
|
显示一个电影片断的子剪辑是否包含在Tab按键顺序中
|
|
Tabenabled
|
显示一个对象是否支持Tab按键
|
|
Tabindex
|
一个对象的Tab按键切换顺序
|
|
_target
|
一个电影片断对象在场景中的实例名
|
|
_totleframes
|
一个电影片断实例的总帧数
|
|
trackAsMenu
|
决定其他按钮是够可以接收Mouse
Release事件
|
|
_url
|
显示电影片断的来源文件(*.SWF)的URL
|
|
UsehandCursor
|
决定当鼠标移到按钮上方的时候是否显示手形光标
|
|
_vsible
|
决定一个电影片断实例是否在场景中可见,返回值为布尔型(boolean)
|
|
_width
|
以像素为单位返回当前电影片断的宽度
|
|
_x
|
以像素为单位返回当前电影片断的横坐标
|
|
_xmouse
|
以像素为单位返回鼠标相对于当前电影片断的横坐标值,即以电影片断的中心点为坐标原点。
|
|
_y
|
以像素为单位返回当前电影片断的纵坐标
|
|
_ymouse
|
以像素为单位返回鼠标相对于当前电影片断的纵坐标值,即以电影片断的中心点为坐标原点
|
|
_yscale
|
显示一个电影片断的纵向缩放比例
|
电影片断事件:
|
方法
|
描述
|
|
onData
|
当所有数据装载完毕时调用
|
|
onDragOut
|
当鼠标在按钮内被按下,并拖拽到按钮外时调用
|
|
OnDragOver
|
当鼠标在按钮外被按下,并拖拽到按钮上时调用
|
|
onEnterFrame
|
进入当前电影片断帧格时反复执行指定动作。该条语句在该电影片断的任何其他语句之前首先执行。
|
|
OnKeyDown
|
当有键盘被按下时执行。可以使用key.getcode来接收键盘的返回信息。
|
|
OnKeyUp
|
当有键盘松开时执行。
|
|
OnKillFocus
|
当按钮失去焦点时执行
|
|
OnLoad
|
当电影片断出现在时间线上时执行。该时间的语句只执行一次。
|
|
OnMouseDown
|
鼠标左键按下时执行
|
|
OnMouseMove
|
鼠标移动时反复执行
|
|
OnMOuseUp
|
鼠标左键释放时执行
|
|
OnPress
|
鼠标左健在按钮上按下的时候执行
|
|
OnRelease
|
鼠标左健在按钮上释放的时候执行
|
|
OnReleaseOutside
|
鼠标左健在按钮上按下,然后拖拽到按钮外释放的时候执行
|
|
OnRollOut
|
当鼠标滑出按钮响应区域时执行
|
|
OnRollOver
|
当鼠标滑入按钮响应区域时执行
|
|
onSetFocus
|
当一个按钮处于输入焦点而且有按键释放时执行
|
|
onUnload
|
当前电影片断被卸载时执行。该条语句在该电影片断的任何其他语句之前首先执行。
|
MovieClip._alpha
|
语法
|
anyMovieClip._alpha
|
|
参数
|
无
|
|
说明
|
属性。设置或者返回指定电影片断的透明度(transparency),有效值为0(完全透明)------100(完全不透明)。一个对象即使_alpha值设为0(完全透明),它仍然是可以激活的。例如:一个完全透明的按钮仍然可以接收鼠标事件。
|
|
播放器
|
Flash
4或更新版本
|
|
示例
|
下面这个例子设定了一个实例名为rayman的电影片断的透明度为30%
on(release){
rayman._alpha=30;
}
|
|
参看
|
|
MovieClip.attachMovie
|
语法
|
anyMovieClip.attachMovie(
idName, newname, depth );
|
|
参数
|
idName原型库中要被载入的动画对象原型标识名
;
newname是被载入动画的新名字,在其作用域中唯一;
depth是为新载入动画分配的深度。
|
|
说明
|
方法 。从原型库中载入指定动画,可以使用removeMovieClip或unloadMovie方法删除该动画。
|
|
播放器
|
Flash
5或更新的版本
|
|
示例
|
无
|
|
参看
|
removeMovieClip
unloadMovie
MovieClip.removeMovieClip
MovieClip.unloadMovie
|
MovieClip.beginFill
|
语法
|
anyMovieClip.beginFill ([ rgb [,alpha]])
|
|
参数
|
Rgb:
一个16位颜色值(例如:红__ 0xff0000.蓝__0x0000ff,等等)。如果颜色值没有被指定,则填充失败。
Alpha:
0——100之间的整数。
如果没有指定,Flash默认为100;如果小于0,Flash默认为0;如果大于100,Flash默认为100。
|
|
说明
|
方法。确定一个新的绘画路径的开始。如果存在一条开放路径(是指当前绘画所用moveto方法指定的路径不闭合成一个区域)并存在一个填充,路径将被一条直线闭合然后被填充。
|
|
播放器
|
Flash
6
|
|
示例
|
无
|
|
参看
|
MovieClip.beginGradientFill
MovieClip.endFill
|
MovieClip.beginGradientFill
|
语法
|
anyMovieClip.beginGradientFill (filltype,color,alphas,ration,matrix)
|
|
参数
|
Filltype
:linear(线性渐变填充)或者radial(放射渐变填充)
Color
: RGB颜色指数组。
Alpha
: 0——100之间的整数。(如果没有指定,Flash默认为100;如果小于0,Flash默认为0;如果大于100,Flash默认为100。)
Ration
:单色分配比率。有效值在0~~255之间,决定了该单色在最后合成色中所占的百分率。
Matrix
:一个变换矩阵,它拥有以下两种使用方法。
1.a , b , c , d , e , f , g , h , I , 用来描述如下所示的3*3矩阵
a b
c
d e
f
g h
I
例如下面这个例子运用了使用matrix参数的BeginGradientFill方法。
_root.createEmptyMovieClip( "grad", 1 );
with ( _root.grad ){
colors = [ 0xFF0000, 0x0000FF ];
alphas = [ 100, 100 ];
ratios = [ 0, 0xFF ];
matrix = {
a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200,
i:1 };
beginGradientFill( "linear",
colors, alphas, ratios, matrix );
moveto(100,100);
lineto(100,300);
lineto(300,300);
lineto(300,100);
lineto(100,100);
endFill();
}
如果matrixType参数不存在,则剩下的参数将不被提交,任一参数不存在就会导致填充失败,填充渐变的缩放、变换、倾斜、旋转使定义在(-1,-1)到(1,1)这个方向上的。
2. matrixType
该属性解释如下:matrixType是字符串"box",x是向对于父电影片断的注册点(放射填充的左上角),y是是向对于父电影片断的注册点(放射填充的左上角),w是放射填充的有效作用宽度,h是放射填充的有效作用高度,r是放射填充的旋转角度(弧度)。
例如下面这个例子运用了使用matrix参数的BeginGradientFill方法。
_root.createEmptyMovieClip( "grad", 1 );
with ( _root.grad ){
colors = [ 0xFF0000, 0x0000FF ];
alphas = [ 100, 100 ];
ratios = [ 0, 0xFF ];
matrix = { matrixType:"box", x:100, y:100,
w:200, h:200, r:(45/180)*Math.PI };
//(45/180)*Math.PI为弧度, 即是旋转45度
beginGradientFill( "linear", colors,
alphas, ratios, matrix );
moveto(100,100);
lineto(100,300);
lineto(300,300);
lineto(300,100);
lineto(100,100);
endFill();
}
|
|
说明
|
方法。显示一个新的填充路径的开始。如果第一个参数没有被指定,或者没有参数,则填充失败。如存在非闭合路径,则先用直线使之闭合(类似于使用endFill语句),再填充。
当出现下列错误时,填充失败:
1
参数colors
、 alpha、 ration的值不合法
2
参数fillType的值不是lineae或者radial
3
对象的matrix参数不完全或者不合法
|
|
播放器
|
Flash
6
|
|
示例
|
这个例子绘制了两个重叠的红蓝线性渐变、5个像素的绿色外框的矩形
_root.createEmptyMovieClip("goober",1);
with
( _root.goober ) {
colors = [ 0xFF0000, 0x0000FF ];
alphas = [ 100, 100 ];
ratios = [ 0, 0xFF ];
lineStyle( 5, 0x00ff00 );
matrix = { a:500,b:0,c:0,d:0,e:200,f:0,g:350,h:200,i:1};
beginGradientFill( "linear", colors,
alphas, ratios, matrix );
moveto(100,100);
lineto(100,300);
lineto(600,300);
lineto(600,100);
lineto(100,100);
endFill();
matrix = { matrixType:"box", x:100,
y:310, w:500, h:200, r:(0/180)*Math.PI };
beginGradientFill( "linear", colors,
alphas, ratios, matrix );
moveto(100,310);
lineto(100,510);
lineto(600,510);
lineto(600,310);
lineto(100,310);
endFill();
}
|
|
参看
|
MovieClip.beginFill , MovieClip.endFill ,
MovieClip.lineStyle , MovieClip.lineTo
,
MovieClip.moveTo
|
第一、二、三、四、五、六页
选自《循序渐进——Flash
MX基础与技巧》随书光盘
转载请保留链结
|
|
|
|