0

ムービークリップのテキストがフェードインする「ポイント」の上に多数のマウスがあるマップで作業しています。私が経験している問題は、親ムービークリップに含まれるテキスト自体もマウスオーバー領域になることです。その内容ではなく、ポイント自体がマウスイベントをアクティブにしたいだけです。ウェブ全体を検索したところ、mouseChildren = false; などの「解決策」が見つかりました。および mouseEnabled = false; 動作しない。コーディングが間違っているだけなのか、それとも何なのかわかりません。どんな助けでも大歓迎です。ここに私が持っているコードがあります:

clayton.buttonMode = true;
clayton.addEventListener(MouseEvent.ROLL_OVER, over);
clayton.addEventListener(MouseEvent.ROLL_OUT, out);

function over(event:MouseEvent):void{
    clayton.gotoAndPlay("over");

}

function out(event:MouseEvent):void{
    clayton.gotoAndPlay("out"); 
}

親ムービー クリップの上にマウスを置いた後、含まれているテキストが正しくフェードインします。親ムービー クリップからマウス アウトすると、含まれているテキストが正しくフェードアウトします。ただし、マウスを親ムービークリップの上に移動した後、含まれているテキストは親ムービークリップのように動作し、マウスオーバー アニメーションをアクティブにします。これが実際の問題を示すビデオです。最初にマップの中央エリアにマウスを置いても、何も起こらないことに注意してください。しかし、マップ上のポイントにマウス ポインターを合わせると、中央の領域でアニメーションがアクティブになります。

これが私の問題のビデオの例です: http://www.youtube.com/watch?v=OC2vVjMQTH4

4

1 に答える 1

0

ビデオは役に立ちます!

何が起こっているのかというと、最初のマウスオーバーで表示される情報ボックスは、フェードアウト後もロードされたままなので、表示されていない(フェードアウトされている)場合でも、そこにあり、ロールオーバーがトリガーされます。 。

これはさまざまな方法で修正できます。最も速い(最もずさんな)のは、停止/ループする前に、「out」アニメーションの最後に空のフレームを追加することです。

より良い方法は、roll_overリスナーをポイントオブジェクト自体にアタッチすることです。(親の'clayton'にroll_outを残すことができます)。

于 2012-06-28T21:10:16.037 に答える