打印

[基础] 大大们指教~~~怎么给加载的MC设置遮罩阿

我在场景中放置了一个空MC,
然后用这个MC加载外部MC,
我要怎么样来设制一个遮罩来遮住加载进来的MC呢?????
各位大大~~~帮帮忙阿。。。。
加载成功后 加这个``
被遮罩的MC.setMask(遮罩MC);
function mask_func(mc:MovieClip) {
attachMovie("mask_mc", "Mask", 2009);
Mask._visible = false;
mc.setMask(Mask);
}

jiazaiSWF=function(i,mc1,mc2){
   
var mcLoader:MovieClipLoader=new MovieClipLoader;
var listenter:Object=new Object;

listenter.onLoadInit=function(target:MovieClip){
       if(target){
              
              mask_func(target);
              }}
mcLoader.addListener(listenter);
mcLoader.loadClip("changan2_"+i+".swf",mc1);}

我这样写的,但是遮罩没办法使用的啊。。。。。
然后我再一个加载进来的MC里用按钮调用在主时间轴上写的jiazaiSWF()来给这个mc加载其他的MC,函数里头的遮罩不起作用的啊。。。

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
多半是这一句的问题
attachMovie("mask_mc", "Mask", 2009);
你的MASK是动态创建的,无法实现遮罩效果,你先在舞台手动建一空MC,实例名mymask,语句改为:
mymask.attachMovie("mask_mc","mask",1)
mc.setMask(mymask)

TOP

没有作用。。。
郁闷阿。。。。。。。。。。。。。。

TOP

不是瞎说的
我给你源文件,你自己测试看咯

附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!

TOP

谢谢大哥帮忙,我看了原文件,但是还是没有作用的,我想是不是我加载的层次的问题,但没有想到解决办法。。。。
我现在这个的关系是这样的,
在主场景上我写了一个加载MC的函数jiazaiSWF();
同时上面有个空MC加载了一个MC1,
MC1上面是有按钮的,点击MC1上面的按钮调用主场景里的jiazaiSWF()通过MC1内部的空MC来加载MC2的,
我想能不能在主场景里的jiazaiSWF()里面设置一个遮罩,然后MC1调用这个函数加载MC2的时候,能给加载进来的MC2设置一个遮罩。
现在等于说是有三个层次,
主场景的空MC加载MC1,然后在MC1里面通过按钮在给MC1内部的空MC加载一个MC2,然后给MC2设置个遮罩。。。。。。
大哥~~看能有什么办法解决下吗???????
谢谢。,。。,,,

TOP

可以
看看你的jiazaiSWF()是不是出现了路径等方面的错误呢?
发个文件撒

TOP

原文件太大~我重新组织下~~请大哥帮忙看看

TOP

附件限制太小了。。。。
只能多压几个了~~~麻烦大哥了。。



//马上开会了,没时间看文件,帮楼主上传了一下文件

[ 本帖最后由 flash023 于 2008-6-16 15:58 编辑 ]
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!

TOP

谁用FLASH9的帮他看下吧
我在网吧,只有FLASH8,打不开
不好意思

TOP

不好意思啊~~忘了换底点的格式了。,,。。。
我再发一个。。。。。。

TOP

还是得多上传,白费了刚才那位大哥帮我合起来了。。。。
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!

TOP

在你的源文件里没看到你用setmask啊,而且不知道你想链接哪个MC。
你上传的附件有很多重复啊,清晰一点。

TOP

你的mc_mask是准备用遮罩吧
怎么库中一个链接MC都找不到呢

TOP

估计被我给删了吧,刚才原文件很大,我就把一些东西给删除了。
设置遮罩的代码被我删了,因为加上那段就把加载的MC给挡住了,,,都看不到。
里头的index是主MC
然后是加载webUI2
然后webUI2里面加载changan2_1等。
代码写的很乱,
大哥你看看怎么能在里头设置个遮罩,我以前用的没用,放上去反而干扰,
麻烦你了。。。

TOP

mc.setMask(Mask);
是没任何问题的 应该是MC路径问题
你自己写的代码你自己都乱的话 那就没人能帮你了

TOP

动作遮罩SETMASK达不到效果,奇怪,情况不明,至少现在不明。
我手动做了遮罩,即在uiload上层新建个空MC,名为mc_mask
动作保留
mc_mask.attachMovie("mask_mc","mask",1)

在场景里右键“遮罩层”让mc_mask遮罩就行了。

没看到你场景中的mc1到底在哪儿,没达到遮罩,同样道理,自己找到设置下就OK
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!

TOP

给你把问题解决了
之前的问题是载入延迟问题造成的
给你做个全面解释(反正刚刚上课无事,才有时间写那么多)

任何操作都要在加载完成以后再执行,如动态设置遮罩setmask

比较一下:要用mask动态遮罩mymc,但mask,mymc都是空MC,都需要载入,看下面的做法。
引用:
mask.attachMovie("mask","mymask",0)
var ml:MovieClipLoader=new MovieClipLoader()
ml.loadClip("11.swf",mymc)
mymc.setMask(mask)
无效果,为什么?载入延迟问题。

那改写为下面的吧:
引用:
mask.attachMovie("mask","mymask",0)
var ml:MovieClipLoader=new MovieClipLoader()
ml.addListener(this)
this.onLoadInit=function(){
       mymc.setMask(mask)
}
ml.loadClip("11.swf",mymc)
是不是好了呢?哈哈,就这样。“任何操作都要在加载完成以后再执行”
测试源码:

那你的问题就好解决了:
去掉先前给你说的手动建遮罩层,改用AS控制
mc_mask.attachMovie("mask_mc","mask",1)
var ml:MovieClipLoader=new MovieClipLoader()
ml.addListener(this)
this.onLoadInit=function(){
       uiload.setMask(mc_mask)
}
ml.loadClip("你的SWF影片地址",uiload)
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!

TOP

什么社会,楼主反倒不积极了

TOP

我终于解决了~~~~~~
太感谢各位大大的帮忙了~~~
特别是SUNXINZHE 大哥~~~~~
非常~~非常感谢。。。。。。

TOP

不好意识阿~~昨天晚上没电脑,早上一来就在捣鼓,,,,,,
现在终于解决了~~~~~
:) :) :) :)

TOP