Flash影片剪辑的属性、深度及动态控制
2010-09-20 12:55
253 查看
Flash影片剪辑的属性、深度及动态控制
一、影片剪辑的属性及其设置和获得。
1、影片剪辑的15个常用属性。
2、影片剪辑的15个不常用属性。
3、影片剪辑属性的设置和获得。
A、setProperty(设置影片剪辑属性)命令格式:
setProperty(”实例名”,属性名,值);
例如:
setProperty(”mc”,_alpha,”30”);//将影片剪辑mc的透明度设置为30%。
也可以用with语句来设置影片剪辑的属性:
with (mc) {
_x=45;
}
B、getProperty(获得影片剪辑属性)命令格式:
getProperty(实例名,属性名)
例如:
on (press) {
var a:Number=getProperty(mc,_x);
var b:Number=getProperty(_root.mc,_alpha);// mc可以包含路劲
trace(“mc的横坐标为:”+a);
trace(“mc的透明度为:”+b);
}
C、这两个命令结合使用的实例(不但改变透明度、水平和垂直缩放比):
on (release) {
if (getProperty("mc",_alpha)!=0) {
setProperty("mc",_alpha, getProperty("mc",_alpha)-2);
setProperty("mc",_xscale, getProperty("mc",_xscale)+3);
setProperty("mc",_yscale, getProperty("mc",_yscale)+3);
}
}
二、影片剪辑的深度(depth)。
影片剪辑在swf文件中是有层级叠放顺序的,就象图层的叠放顺序一样,低级隐藏在高级之下,并且每一个深度只能容纳一个影片剪辑,所以必须为每一个影片剪辑分配一个深度值,其取值范围:-16384~1048575,_root对象的深度值是-16384,以后每添加一个递增1.
1、mc.getDepth();返回影片剪辑的深度。
2、mc(或_root).getInstanceAtDepth(depth);返还指定深度的影片剪辑实例。
mc(或_root)指检索范围。
3、mc(或_root).getNextHighestDepth();返还还没有用而可用的最大深度值.
mc(或_root)指检索范围。
mc._parent. getNextHighestDepth()-1;返还当前已用的最大深度值。
4、mc.swapDepths(depth或target);将mc的深度与depth深度上的影片剪辑的深度(或与targe影片剪辑的深度)进行交换。
交换的两个影片剪辑必须位于同一父级。
三、影片剪辑的复制和添加。
1、对位于舞台中的影片剪辑的动态复制:dupclicateMovieClip();
格式:
dupclicateMovieClip(”被复制影片剪辑实例名”,”新实例名”,深度值);
深度相同会被替换(所以要重新给一个深度值),坐标相同会被覆盖(所以要重新定坐标)。
2、对库中的影片剪辑的动态添加:attachMovie();
格式:
AnyMC(指定的场景或影片剪辑). attachMovie(“要添加的影片剪辑导航符”,”指定实例名”,depth);
如果是添加在当前的场景中:
_root. attachMovie(“要添加的影片剪辑导航符”,”指定实例名”,depth);
如果是添加到影片剪辑mc中:
mc. attachMovie(“要添加的影片剪辑导航符”,”指定实例名”,depth);
A、对库中的影片剪辑元件添加到舞台应为其设置链接标示符:
在库中元件上右击/勾选”为ActionScript导出”/在“标示符”栏输入一个英文名字(例如:ball)/点”确定”/完成。
B、添加到舞台的何位置?
如果添加到舞台_root,它会位于原点(0,0),如果添加到舞台中的另一个影片剪辑处,它会位于后者的中央。
例如:_root. attachMovie(“ball”,”ballert”,50);
C、可以利用随机函数为添加到舞台的影片剪辑随机定位,例如:
for (var i=0;i<10;i++) {
_root.attachMovie("ball","ball"+i,i);
_root["ball"+i]._x=550*Math.random();
_root["ball"+i]._y=400*Math.random();
}
3、影片剪辑的动态删除:
removeMovieClip(mc);
或
mc. removeMovieClip();
4、空影片剪辑的创建:
AnyMC(指定创建空影片剪辑的位置).createEmptyMovieClip(”命名”,depth);
如果是在当前的场景中创建:
_root.createEmptyMovieClip(”命名”,depth);
如果是在影片剪辑mc中创建:
mc.createEmptyMovieClip(”命名”,depth);
创建空影片剪辑ball,并往ball中添加元件water(链接标示符)代码:
_root.createEmptyMovieClip(”ball”,0);
ball.attachMovie("water","wat",0);
由于depth都是0,所以添加的影片剪辑覆盖了空影片剪辑。
四、动态创建遮罩效果setMask。
创建:my_mc.setMask(mask_mc);
取消:my_mc.setMask(null);
五、影片剪辑的碰撞检测hitTest()。
1、与某点(x,y)的碰撞(相交或重叠)检测:
mc.hitTest(x,y,true[false]);
如果重叠或相交则执行其后面的语句,例如:
if (mc.hit(x,y,true)) {
······
}
2、与某个影片剪辑的碰撞(相交或重叠)检测:
mc.hitTest(target);
如果重叠或相交则执行其后面的语句。
一、影片剪辑的属性及其设置和获得。
1、影片剪辑的15个常用属性。
属性 | 说明 |
_name | 实例名称 |
_x | 横坐标。在主时间轴上表示场景中的影片剪辑mc的_x坐标:mc_x;在影片剪辑自身的“动作”面板中表示_x的坐标_x;或this._x |
_Y | 纵坐标。在主时间轴上表示场景中的影片剪辑mc的_y坐标:mc_y;在影片剪辑自身的“动作”面板中表示_y的坐标_y;或this._y |
_rotation | 旋转角度。介于-1800~1800,初始为00,00~-1800逆时针旋转,00~1800顺时针旋转,超出这个范围,系统会自动调整至-1800~1800之间的范围。-1900=1700,具体应用时表示度数的单位省掉,例如:_rotation+=10; |
_aipha | 透明度范围0(完全透明)~100(完全不透明)。亦可在属性面板设置透明度 |
_visible | 可见性。true(可见)或false(不可见,隐藏),例如:mc._visible=true; |
_width | 宽度 |
_height | 高度 |
_xscale | 水平缩放百分比。缩小的属性值范围:0~100,放大的属性值范围:>100(即大于100)。如果为负数,则在缩放的基础上进行水平或垂直翻转。 |
_yscale | 垂直缩放百分比 |
_xmouse | 鼠标相对影片剪辑的x坐标 |
_ymouse | 鼠标相对影片剪辑的y坐标 |
_parent | 该影片剪辑的父级影片剪辑 |
_target | 目标路径 |
_currentframe | 播放头当前所在的帧 |
属性 | 说明 |
_totalframes | 影片的总帧数 |
_framesloaded | 已被加载的帧数 |
_url | 影片下载swf文件的路劲 |
_highquality | 影片的显示品质 |
_focusrect | 获得焦点时有无黄色边框 |
_soundbuftime | 声音在播放前缓冲的秒数 |
enabled | 影片剪辑是否被启用 |
menu | 关联的ContextMenu对象 |
hitarea | 将其他影片作为按钮点击区域 |
focusEnabled | 允许影片获得焦点 |
Tabindex | 标示对象的tab键的切换顺序 |
tabEnabled | 标示影片是否有tab键顺序 |
tabChildren | 子级有无tab键顺序 |
trackAsMenu | 其他键是否接收release事件 |
useHandCurser | 是否显示手形光标 |
A、setProperty(设置影片剪辑属性)命令格式:
setProperty(”实例名”,属性名,值);
例如:
setProperty(”mc”,_alpha,”30”);//将影片剪辑mc的透明度设置为30%。
也可以用with语句来设置影片剪辑的属性:
with (mc) {
_x=45;
}
B、getProperty(获得影片剪辑属性)命令格式:
getProperty(实例名,属性名)
例如:
on (press) {
var a:Number=getProperty(mc,_x);
var b:Number=getProperty(_root.mc,_alpha);// mc可以包含路劲
trace(“mc的横坐标为:”+a);
trace(“mc的透明度为:”+b);
}
C、这两个命令结合使用的实例(不但改变透明度、水平和垂直缩放比):
on (release) {
if (getProperty("mc",_alpha)!=0) {
setProperty("mc",_alpha, getProperty("mc",_alpha)-2);
setProperty("mc",_xscale, getProperty("mc",_xscale)+3);
setProperty("mc",_yscale, getProperty("mc",_yscale)+3);
}
}
二、影片剪辑的深度(depth)。
影片剪辑在swf文件中是有层级叠放顺序的,就象图层的叠放顺序一样,低级隐藏在高级之下,并且每一个深度只能容纳一个影片剪辑,所以必须为每一个影片剪辑分配一个深度值,其取值范围:-16384~1048575,_root对象的深度值是-16384,以后每添加一个递增1.
1、mc.getDepth();返回影片剪辑的深度。
2、mc(或_root).getInstanceAtDepth(depth);返还指定深度的影片剪辑实例。
mc(或_root)指检索范围。
3、mc(或_root).getNextHighestDepth();返还还没有用而可用的最大深度值.
mc(或_root)指检索范围。
mc._parent. getNextHighestDepth()-1;返还当前已用的最大深度值。
4、mc.swapDepths(depth或target);将mc的深度与depth深度上的影片剪辑的深度(或与targe影片剪辑的深度)进行交换。
交换的两个影片剪辑必须位于同一父级。
三、影片剪辑的复制和添加。
1、对位于舞台中的影片剪辑的动态复制:dupclicateMovieClip();
格式:
dupclicateMovieClip(”被复制影片剪辑实例名”,”新实例名”,深度值);
深度相同会被替换(所以要重新给一个深度值),坐标相同会被覆盖(所以要重新定坐标)。
2、对库中的影片剪辑的动态添加:attachMovie();
格式:
AnyMC(指定的场景或影片剪辑). attachMovie(“要添加的影片剪辑导航符”,”指定实例名”,depth);
如果是添加在当前的场景中:
_root. attachMovie(“要添加的影片剪辑导航符”,”指定实例名”,depth);
如果是添加到影片剪辑mc中:
mc. attachMovie(“要添加的影片剪辑导航符”,”指定实例名”,depth);
A、对库中的影片剪辑元件添加到舞台应为其设置链接标示符:
在库中元件上右击/勾选”为ActionScript导出”/在“标示符”栏输入一个英文名字(例如:ball)/点”确定”/完成。
B、添加到舞台的何位置?
如果添加到舞台_root,它会位于原点(0,0),如果添加到舞台中的另一个影片剪辑处,它会位于后者的中央。
例如:_root. attachMovie(“ball”,”ballert”,50);
C、可以利用随机函数为添加到舞台的影片剪辑随机定位,例如:
for (var i=0;i<10;i++) {
_root.attachMovie("ball","ball"+i,i);
_root["ball"+i]._x=550*Math.random();
_root["ball"+i]._y=400*Math.random();
}
3、影片剪辑的动态删除:
removeMovieClip(mc);
或
mc. removeMovieClip();
4、空影片剪辑的创建:
AnyMC(指定创建空影片剪辑的位置).createEmptyMovieClip(”命名”,depth);
如果是在当前的场景中创建:
_root.createEmptyMovieClip(”命名”,depth);
如果是在影片剪辑mc中创建:
mc.createEmptyMovieClip(”命名”,depth);
创建空影片剪辑ball,并往ball中添加元件water(链接标示符)代码:
_root.createEmptyMovieClip(”ball”,0);
ball.attachMovie("water","wat",0);
由于depth都是0,所以添加的影片剪辑覆盖了空影片剪辑。
四、动态创建遮罩效果setMask。
创建:my_mc.setMask(mask_mc);
取消:my_mc.setMask(null);
五、影片剪辑的碰撞检测hitTest()。
1、与某点(x,y)的碰撞(相交或重叠)检测:
mc.hitTest(x,y,true[false]);
如果重叠或相交则执行其后面的语句,例如:
if (mc.hit(x,y,true)) {
······
}
2、与某个影片剪辑的碰撞(相交或重叠)检测:
mc.hitTest(target);
如果重叠或相交则执行其后面的语句。
相关文章推荐
- 控制影片剪辑【基础】-实例教学-Flash-网页制作
- 怎么在FLASH的场景中控制影片剪辑的播放和停止
- 关于flash中影片剪辑的排列顺序控制和拖拽效果
- 动态加载flash影片剪辑
- 控制影片剪辑【基础】-实例教学-Flash-网页制作
- Flash ActionScript (18)AS3.0动态改变影片剪辑颜色
- AS控制上, Flash不主张用场景来制作,建议的方法是制作成影片剪辑或是元件
- flash AS3.0访问加载的SWF文件中的属性、方法以及类、库中的影片剪辑
- flash cs编译,控制->删除ASO和影片,解决代码不执行问题
- Flash AS3.0教程:如何载入库中的影片剪辑将制作成动画效果 将影片剪辑变成类[转]
- 如何在dropdownlist动态添加item之后,如何设置其value值! /用JS控制服务端dropDownlist和textField的Readonly属性
- 【AS3代码】键盘控制影片剪辑上下左右移动!!
- 动态给剪辑对象增加属性
- 如何在帧上添加代码来控制按钮及影片剪辑的行为
- Javascript控制div属性动态变化实例分析
- Flash影片剪辑碰撞---偶尔失效问题!呵呵 俗话说碰撞失灵了---
- FLASH中影片剪辑和图形元件的区别与特点
- 002.使用Flash-CS中的影片剪辑
- AS3中的如何动态加载影片剪辑
- android 动态添加控件控制属性问题