0

Flash CS4、AS2 を使用しています。

私は最初の SWF であるインターフェースを持っています。これは、外部 SWF であるページを attachMovie を介してロードします。ページ自体には、クリック可能なボタンが含まれています。私がやろうとしているのは、ページのコードを変更せずに、ページのボタンを有効または無効にすることです。インターフェイスの内容しか変更できません。

ブロッカー、ムービークリップを使用してみました:

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

ただし、これはインターフェイス内のクリックを防ぐだけであり、外部ページは引き続きマウス イベントを取得するようです。

ページのクリックを有効または無効にする方法はありますか? 私はその実行を止めたくありません(stop()は何もありません)。

ありがとうございました。

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 に答える