在AS2中,阻止外部SWF中的单击

时间:2012-04-11 19:31:18

标签: click flash actionscript-2 external

我正在使用Flash CS4,AS2。

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

我尝试过使用阻止程序,一个带有以下内容的动画片段

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

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

有没有办法启用和禁用网页获取点击次数?我不想阻止它的执行(没有任何停止())。

谢谢。

1 个答案:

答案 0 :(得分:0)

如何将加载的内容放在特定深度(通过MovieClipLoader的loadClip)和顶部的'blocker'透明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  );
}