myfunc = function(targetW){
for(var i = 0;i<arr.length;i++){
var pos_x = (arr[i].position)* targetW;
var mc = container.subcontainer['adsFlagMC'+i];
if(!mc) {
container.subcontainer.attachMovie("adsFlag2","adsFlagMC"+i,container.subcontainer.getNextHighestDepth());
mc = container.subcontainer['adsFlagMC'+i];
}
if(pos_x<0|| targetW <=0){
mc._visible=false;
}else{
mc._visible=true;
mc._x =pos_x;
}
}
}
在container.subcontainer这个mc中根据其宽度和需要显示元素的位置(百分比位置),依次创建"adsFlag2"这个元件的剪辑实例。并且设置其位置x。
在获取targetW的时候也有一个问题,就是随着加入影片剪辑实例的同时,会将container.subcontainer的整体宽度撑开,所以一般不可以直接取container.subcontainer的宽度即container.subcontainer._width. 可以通过其左右元件的宽度,将总的宽度减去这些不变元素的宽度,就是container.subcontainer的宽度。这样不管container.subcontainer随着怎么的拉伸,其宽度也是相应变化。container.subcontainer中创建的剪辑实例的位置也会变化,就达到了理想的状况。
AS2中对子元素的引用可以按照这个方法,根据元素名称获取。
分享到:
相关推荐
flash的MovieClip.as,用于影片属性控制。
attachMovie MovieClip.attachMovie() attachSound Sound.attachSound() attachVideo Video.attachVideo() attributes XML.attributes autosize TextField.autoSize avHardwareDisable System....
2. **给MovieClip命名**: 为了能够通过代码引用这个MovieClip,你需要在库中选中它,然后在属性面板中为它分配一个唯一的实例名称,例如“myMC”。 3. **编写代码**: 接下来,打开ActionScript面板(F9),在主时间...
在Flash Professional的库中,我们可以为每个MovieClip或Sound设置一个类名,以便在代码中创建实例。在3.0版本中,不再有2.0时代的标识符,而是通过关联一个类来实现元件的实例化。例如,如果我们有一个名为"MyMc"的...
1. **MovieClip**: MovieClip是ActionScript3中的一个类,它继承自Sprite类,主要用于创建动画或包含多个帧的可重复播放的电影剪辑。在Flex中,你可以通过 addChild() 方法将MovieClip添加到舞台,或者通过时间轴...
在案例中,我们可能会创建一个按钮元件,当用户点击按钮时,通过事件监听器触发函数,改变目标元件的属性。例如: ```actionscript var button:MovieClip = stage.getChildByName("myButton") as MovieClip; button...
两个类型为MovieClip和SimpleButton的对象(myMc和myBtn),用于存放从库中加载的元件;以及两个方法(getLibMc和getLibBtn),用于从已加载的库中获取指定名称的元件。 在构造函数中,我们创建了一个Loader实例,...
2. 将选定对象转换为元件:在舞台上选择一个或多个对象,执行下列操作之一:打开“转换为元件”对话框、菜单项“修改|转换为元件”、右键快捷菜单中的“转换为元件”、将选中对象拖到“库”面板上、快捷键F8。...
例如,`MovieClip.stop()`命令可以停止当前播放的SWF文件,而`MovieClip.gotoAndPlay()`和`MovieClip.gotoAndStop()`则可以将播放头定位到指定帧并开始播放或停止。此外,`MovieClip.nextFrame()`和`MovieClip....
例如,通过一个简单的for循环,我们可以动态地加载多个以`Mc`开头,后面跟着数字的类: ```actionscript for (var i = 1; i ; i++) { var ClassReference:Class = getDefinitionByName("Mc" + i) as Class; var ...
movieClip.x += movieClip.xSpeed; movieClip.y += movieClip.ySpeed; ``` 压缩包中的"获得鼠标的速度2.fla"可能是这个项目的源文件,包含了上述代码和其他相关组件。"说明.htm"可能包含有关该项目的详细说明,解释...
在Flash开发中,Loader类是AS3(ActionScript 3)中的一个重要组件,它允许开发者加载各种类型的内容,包括图像、视频、SWF文件等。本文将深入探讨"FLASH Loader加载外包文件"这一主题,以及如何利用Loader类来实现...
MovieClip可以包含多个帧,通过改变播放头的位置实现动画。Tween则可以平滑地改变对象的属性,如旋转角度,以创建动态效果。 6. **时间轴控制**:在Flash中,时间轴是管理动画的关键元素。开发者可以通过编写...
2. `MovieClip.startDrag()` 和 `MovieClip.stopDrag()` 使得舞台上的对象能够跟随鼠标移动。 3. `MovieClip.onMouseMove` 事件处理函数可在鼠标移动时触发特定动作。 4. `MovieClip.onEnterFrame` 事件处理函数则在...
MovieClip是AS3中的一个类,代表了可以独立播放、控制时间轴的动画片段。将AMV1影片转换为MovieClip,意味着我们可以利用AS3的API对视频进行更高级的操作,比如添加交互、调整播放速度、同步与其他元素等。 `AVM1...
var blueSpotClip: MovieClip = attachMovie( "blueSpot", "blueSpotClip", 0 ) var clipBounds: Object = blueSpotClip.getBounds() var blueSpot: BitmapData = new BitmapData( clipBounds.xMax, clipBounds....
1. `MovieClip.getBytesLoaded()` 方法:返回当前已经加载的影片剪辑的字节数,可以用来计算加载进度。 2. `MovieClip.getBytesTotal()` 方法:返回整个影片剪辑的总字节数,与`getBytesLoaded()`配合使用可计算出...
以下是一个简单的示例,展示如何遍历库中的所有元件并更改它们的名称: ```jsfl var lib = fl.getDocumentDOM().library; for (var i = 0; i < lib.numItems; i++) { var item = lib.getVectorItem(i); if (item....