0

我正在使用 Flash CS4、AS2。

我有第一个 SWF,即通过 attachMovie 加载外部 SWF、页面的界面。页面本身包含可点击的按钮。我要做的是启用和禁用页面上的按钮,而不更改页面的代码。我只能更改界面的内容。

我试过使用一个拦截器,一个带有以下内容的电影剪辑:

onrelease = function() {};
onpress = function() {};
useHandCursor = false;

然而,这只会阻止界面内的点击,并且外部页面似乎仍然会获得鼠标事件。

有没有办法启用和禁用页面获得点击?我不想停止它的执行(没有停止())。

谢谢你。

4

1 回答 1

0

将加载的内容放在特定深度(通过 MovieClipLoader 的 loadClip)和顶部的“阻塞器”透明 MovieClip(getNextHighestDepth())以及一个空的按下/释放处理程序,您可以在不需要时将其 _visible 属性设置为 false 怎么样?

这是一个基本示例:

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  );
}
于 2012-04-11T23:28:22.820 回答