繁体   English   中英

在AS2中,阻止点击在外部SWF中

[英]In AS2, Blocking clicks in an external SWF

我正在使用Flash CS4,AS2。

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

我已经尝试使用具有以下内容的拦截器,即动画片段:

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

但是,这只能防止在界面内单击,并且外部页面似乎仍会获得鼠标事件。

有没有一种方法可以启用和禁用页面以获得点击? 我不想停止它的执行(没有stop())。

谢谢。

如何将加载的内容放在特定的深度(通过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  );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM