0

AS3 を使用して Flash でヨーロッパの地図を作成しました。私は全くの初心者です。各国を動画化(なげなわツール使用)。これらのムービーは、メイン タイムラインの 1 つのレイヤー (わずかに輪郭が見える) にあります。もう一方のメイン タイムライン レイヤーには、ヨーロッパの元のアウトライン マップがあります。

国がロールオーバーされたときに、ボックスがフルサイズに縮小されるようにすることができました(後でテキストを挿入するため)。

各国がロールオーバーされたときに、その国のテキスト ボックス (Roll_Over に表示される) が「前面」に来るようにする必要があります。

現時点では、いくつかの国のテキスト ボックスは完全に機能します (つまり、白で塗りつぶされ、完全に表示されます) が、ほとんどはメイン マップの下に埋もれているか、かすかなムービー クリップのアウトライン (前面にある) をランダムに通り抜けています。

これは表示リストに関係していると思います。完璧に機能している国はおそらくトップです。しかし、ロールオーバーした国がすぐにトップになり、Roll_Out で戻るようにするにはどうすればよいでしょうか?

これで私の地図が完成するので、どんな助けでも大歓迎です。

私は次のコードを使用しました:

//フレーム 1

this.stop();
movieClip_6.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler_15);
function fl_MouseOverHandler_15(event:MouseEvent):void
{
gotoAndPlay(2); 
}
movieClip_6.addEventListener(MouseEvent.ROLL_OUT, fl_MouseOutHandler_67);
function fl_MouseOutHandler_67(event:MouseEvent):void
{
gotoAndStop(1); 
}

//以下のセクションは私の問題です

movieclip_6.addEventListener(MouseEvent.ROLL_OVER,Rollover,false,0,true);
function Rollover(event:MouseEvent): void
{ 
setChildIndex(MovieClip(e.target),this.numChildren-1);
} 

よろしくお願いします。

4

2 に答える 2

1

addChild() を DisplayObject/Movieclip に再度呼び出して、前面に表示することができます。それ以外の:

setChildIndex(MovieClip(e.target),this.numChildren-1);

行ってみてください:

addChild(MovieClip(e.target));
于 2013-01-29T01:56:53.263 に答える
0

「レイヤー」を使用して、オブジェクトを別のオブジェクトの前に移動できます。

コンストラクタ:

//Create the front layer
var frontLayer:Sprite = new Sprite();

//put all text boxes into front layer
frontLayer.addChild(textbox1); //etc...

//Add layer to mc
addChild(frontLayer);

ロールオーバーがポップアップします:

textbox1.visible = true;

ポップダウン:

textbox1.visible = false;
于 2013-01-29T23:06:42.393 に答える