2011-12-23 14 views
4

私は、クリックすると、attachMovieClipでツールチップムービークリップを表示するスクロールペインのコンテンツを持っています。問題は、最初の行の添付されたムービークリップがScrollPaneの境界線の下にあり、部分的に見えないことです。 は、この問題を解決する方法がある(添付のムービークリップの位置を変えずには?)Flash 8でツールチップを非表示にしないで、ScrollPane内にツールチップを表示するにはどうすればよいですか?

+0

あなたは)(にattachMovieの三番目のパラメータとしてgetNextHighestDepth()を渡してみましたか? http://help.adobe.com/jp/AS2LCR/Flash_10.0/help.html?content=00001303.html以下も参考にする必要があります:http://help.adobe.com/it_IT/AS2LCR/Flash_10.0/help.html?content=00002309.htmlおよびhttp://goflashgo.wordpress.com/2007/04/ 19/simple-depth-manager/ – AsTheWormTurns

+0

何が行われているかを示すコードを少し書いてください。これはAS3(FlashBuilderなど)専用ですか、それともFlash IDEですか? 「位置を変更する」とは、x、yを意味するのか、それともオブジェクトスタックの深度レベルを意味するのでしょうか? – iND

答えて

3

私はあなたがScrollPanecontentPath内のムービークリップをロードしていると仮定します。このムービークリップは動的にをロードします。別のムービークリップ、ツールチップ。この方法でツールチップをロードする場合、深さは関係ありません。ScrollPaneオブジェクト内のすべてが切り抜かれ、下にあるものは決して見ることができません。もちろんこれはScrollPaneクラスの全体的なポイントです。一度に基本となるコンテンツのビットのみを表示し、ユーザーがスクロールできるようにします。ここで

は、問題を再現できるコードです:

this.attachMovie("tooltip1","tooltip1A", 100); //note the high level  
var mouseListener:Object = new Object(); 
mouseListener.onMouseMove = function() { 
    tooltip1A._x = _xmouse; 
    tooltip1A._y = _ymouse; 
    updateAfterEvent(); 
}; 

Mouse.addListener(mouseListener); 

は、ライブラリのムービークリップ内にこれを入れて(paneContentMCそれを呼び出します)。プロパティを開きます。 "Export for Actionscript"にチェックを入れ、 "Identifier:"テキストを "paneContentMC1"にします。プロパティを閉じて、paneContentMCでタイムライン上にランダムなグラフィックをいくつか作成します。

tooltipという別のムービークリップを作成します。プロパティを開きます。 "Export for Actionscript"にチェックを入れ、 "Identifier:"テキストを "tooltip1"にします。

最後に、シーンのメインタイムラインでScrollPaneを作成し、 "contentPath"プロパティ "paneContentMC1"を作成します。このタイムラインの最初のフレームのアクションスクリプトにstop();コマンドを入れてください。

ここにはツールチップがクリップされています。どのようにこれを修正しますか?

ScrollPaneのコンテンツの外にあるオブジェクトにツールチップを接続する必要があります。実行時にステージ上にどのオブジェクトが存在するかどうかわからないので、_rootのようなグローバルオブジェクトを選択します。

paneContentMCの中のアクションスクリプトに入ります。 tooltip1AScrollPane外周りにマウスを追従しているので、これは、問題を完全に解決しない

var mc1:MovieClip = _root.attachMovie("tooltip1","tooltip1A", _root.getNextHighestDepth()); 

var mouseListener:Object = new Object(); 
mouseListener.onMouseMove = function() { 
    _root.tooltip1A._x = _xmouse; 
    _root.tooltip1A._y = _ymouse; 
    updateAfterEvent(); 
}; 

:にコードを変更します。しかしtooltip1AがマウスからではなくpaneContentMCからの動きイベントをリスンしている場合、これはうまくいくはずです。

(議決エラーを修正するために編集された。)

+0

わかりません、それは私ではありませんでした。 – Cris

+0

お役立ち情報アップヴォート(ありがとうございました)のおかげで! – iND

+0

@ iND:申し訳ありません、それは私のせいでした:私はあなたの豊富な返信をupvoteしたいと思いましたが、私は下降しました...あなたの返事を少し編集すると、私はupvoteできるようです。 – AsTheWormTurns

関連する問題