如何在特定深度(通过MovieClipLoader的loadClip)和顶部的“阻挡器”透明MovieClip(getNextHighestDepth())上使用空白按下/释放处理程序来加载内容,如果它是_visible属性,不需要 ?
这里有一个基本的例子:
var loadedContent:MovieClip = createEmptyMovieClip("loadedContent",getNextHighestDepth());
var loader:MovieClipLoader = new MovieClipLoader();
loader.loadClip("as2loadee.swf",loadedContent);//loads content on _level0, unlike loadMovieNum
var blocker:MovieClip = createEmptyMovieClip("blocker",getNextHighestDepth());
blocker.beginFill(0,0);//transparent fill
drawRect(blocker,0,0,100,100);//these values might change
blocker.endFill();
blocker.onPress = function():Void{
trace("nuh-uh!");
}
function drawRect(target:MovieClip,x:Number,y:Number,w:Number,h:Number):Void{
target.lineTo(x ,y );
target.lineTo(x+w,y );
target.lineTo(x+w,y+h);
target.lineTo(x ,y+h);
target.lineTo(x ,y );
}
这就是我所做的,和它的作品内部的鼠标事件,但它似乎并没有阻止发送到_level1 SWF事件。 – 2012-04-12 12:13:11
如果你在_level1上有SWF,这意味着你已经通过loadMovie()或loadMovieNum()加载了它,这与我建议的MovieClipLoader选项不同,后者在_level0加载内容,所以你可以放置在顶部阻滞剂)。尝试类似上面的代码片段。 MovieClipLoader更加灵活,并且onLoadInit/onLoadComplete事件从长远来看将会很有用。另外请注意,AS2是区分大小写的:'onrelease'与'onRelease'不一样# – 2012-04-13 08:43:38
@BahamutDragons解决问题的任何喜悦? – 2012-04-17 19:28:33