- ベストアンサー
地図描画と線の表示に関する問題
- Flash8を使用して地図の描画と線の表示を行っていますが、線が地図の後ろに隠れてしまいます。
- 具体的なActionScriptの記載はないですが、線を描画した場合にどのように表示させるかについて教えていただきたいです。
- マウスカーソルを使用して直線を描画できるようにしていますが、描画した線が地図の背景に隠れてしまいます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
おそらく, moveTo や lineTo で線を引かれているのだと思いますが, この,moveTo や lineTo は ムービークリップ クラス のメソッドですよ。 (MovieClip.moveTo,MovieClip.lineTo) また, swapDepth() も,ムービークリップクラスのメソッドですよ。 (MovieClip.swapDepth) それをそのまま単純に素直に受け止めて, ムービークリップに線を描けば良いのではないですか。 _root に引くから,線が下に隠れるのでしょう。 *** 作り方例 ************************** 地図は地図で用意したとしておきます。 その地図より上のレイヤーを作成して, そのレイヤーにどんな大きさでもどんな形でも良いので何か塗りを用意して, (何でも良いので,約1cm ×1cm の黒い四角にでもしておきますか) その塗りをムービークリップに変換します。 そのムービークリップは見えなくて良いので,ステージ外の作業エリアにでも移動させてください。 マスクレイヤーがあるのでしたらこんな感じでしょうか↓。 □ レイヤー 筆・・|●| ←マスク □ レイヤー 筆・・|●| ←線を引くムービークリップ □ レイヤー 筆・・|●| ←地図 別にマスクの上に線を描くムービークリップを用意してもかまいませんよ。 □ レイヤー 筆・・|●| ←線を引くムービークリップ □ レイヤー 筆・・|●| ←マスク □ レイヤー 筆・・|●| ←地図 それで,そのステージ外作業エリアのムービークリップに, ------------------------------ onClipEvent (mouseDown) { my_x1 = this._xmouse; my_y1 = this._ymouse; } onClipEvent (mouseUp) { this.lineStyle(1, 0x000000, 100); this.moveTo(my_x1, my_y1); this.lineTo(this._xmouse, this._ymouse); } ------------------------------ と書けば,良いだけです。 もし,深度を変えたい場合も,そのムービークリップごと, MovieClip.swapDepth() すれば良いですね。 (変える必要がなければ MovieClip.swapDepth() を使う必要はありませんよ。) また, MovieClip.clear(); で,線だけを消すこともできます。 何かの参考になれば…。 「Flashの描画について(FlashMX以降)」 http://hakuhin.hp.infoseek.co.jp/main/as/draw.html
お礼
こんにちは。早速の回答ありがとうございます。 どうも,基本的な部分を良く理解していなかったようです。 なるほど・・・と納得できました。 教えていただきましたアドレスのサイトも非常に参考になりました。 本当にありがとうございます。