トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kero835
Åê¹ÆNo.11135
投稿日時: 2004-9-28 17:12
新米
居住地:
投稿: 26
使用環境:
Windows2000,
FlashMX2004,
IneternetExplorer6.0
ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
いつも勉強させていただいています。(当方プログラム初心者)
また壁にぶちあたりました。。ご指導いただければ幸いです。

<やりたいこと>
外部にあるjpg画像(地図の画像です)をScrollPaneの中に読み込む。
地図の中に“自分が現在いる位置”を表す小さいMovieClipを配置しようとしています。
現在位置のx,y情報は、phpから値が渡されてきます。これは地図jpg画像上でのx,y座標の値です。
ユーザが地図をスクロールすると、現在地MovieClipもスクロールとともに移動します。

…が、現在地を表すMovieClipをステージ上に配置し、x,yを単純にphpから渡された値にすると、当然ですがステージ上での座標になってしまいます。
これを、ScrollPaneに読み込んだjpg画像の座標と反映(同期)させる方法はあるのでしょうか。

宜しくお願いします。



野中文雄
Åê¹ÆNo.11138
投稿日時: 2004-9-28 18:43
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
「初心者」というのは、役に立つ情報にはなりません。もし、その旨をお伝えになりたいのでしたら、ご質問ごとにどこまで理解されて、どこがおわかりにならないのかを具体的にご説明ください。→【初心者なので?
引用:
kero835さんは書きました:
いつも勉強させていただいています。(当方プログラム初心者)

MovieClipインスタンスから見た座標を、ステージ上の座標に変換するには、MovieClip.localToGlobal()メソッドを用います。

重なり判定(MovieClip.hitTest)と配列
ungraffi:「localToGlobal, globalToLocal
Flash MX Dedign Factory:「グローバル座標に変換する
引用:
…が、現在地を表すMovieClipをステージ上に配置し、x,yを単純にphpから渡された値にすると、当然ですがステージ上での座標になってしまいます。
これを、ScrollPaneに読み込んだjpg画像の座標と反映(同期)させる方法はあるのでしょうか。


----------------
 

kero835
Åê¹ÆNo.11142
投稿日時: 2004-9-28 20:44
新米
居住地:
投稿: 26
使用環境:
Windows2000,
FlashMX2004,
IneternetExplorer6.0
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
野中さま、いつもご回答ありがとうございます。
初心者という言葉をエクスキューズにしていました。。。

localToGlobalの使い方(というか概念?)が理解できていないのか…

・ScrollPane「my_sp」にjpgを読み込む
 ⇒localToGlobalでグローバル座標は取得できました。
・その座標に、現在地を表すMovieClip「location_mc」を
 配置することもできました。

しかし、ScrollPaneのスクロールバーを動かすと、地図は動くのですが(あたりまえ)
「location_mc」をその動きに同期させることができません。。


my_sp.loadScrollContent("map.jpg", "loadcheck");//my_spは地図jpg画像を読み込むScrollPane
function loadcheck(my_sp) {
instance = my_sp.getScrollContent();
my_sp.setScrollPosition(posX, posY); //posX、posYはphpから渡されてくる値。これがステージ上で原点に来るようにしています
obj = my_sp.getScrollPosition(); //コンテンツの表示座標を調べオブジェクトを返す
instancePoint = {x:obj.x, y:obj.y};
instance.localToGlobal(instancePoint);
location_mc._x = instancePoint.x; //location_mcは現在地を表すMovieClip
location_mc._y = instancePoint.y;
}


これでは意図した動きにならないなーと思いながらも書いています。。
・localToGlobal概念を理解していないのか。
・または、EnterFrameで常に座標値を反映させる必要があるのか。
・その他

宜しくお願いします。
野中文雄
Åê¹ÆNo.11145
投稿日時: 2004-9-28 23:58
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
目的の位置にMovieClipを配置することがおできになったのでしたら、理解については基本的に問題ないと思われます。
引用:
kero835さんは書きました:
localToGlobalの使い方(というか概念?)が理解できていないのか…

・ScrollPane「my_sp」にjpgを読み込む
 ⇒localToGlobalでグローバル座標は取得できました。
・その座標に、現在地を表すMovieClip「location_mc」を
 配置することもできました。

MovieClip.localToGlobal()メソッドは、単に座標を換算するだけで、ターゲットのMovieClipと「同期」を取るような仕組みはありません。つまり、ターゲットが動くのでしたら、そのたびに座標換算と目的のMovieClipの移動を行う必要があります。

MX 2004のScrollPaneには、スクロール時に発生するScrollPane.scrollイベントがあります。MXでは、enterFrameイベントで、処理することになるでしょう。
引用:
しかし、ScrollPaneのスクロールバーを動かすと、地図は動くのですが(あたりまえ)
「location_mc」をその動きに同期させることができません。。
...[中略]...
・または、EnterFrameで常に座標値を反映させる必要があるのか。


----------------
 

youich
Åê¹ÆNo.11152
投稿日時: 2004-9-29 4:39
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
引用:


<やりたいこと>
外部にあるjpg画像(地図の画像です)をScrollPaneの中に読み込む。
地図の中に“自分が現在いる位置”を表す小さいMovieClipを配置しようとしています。
現在位置のx,y情報は、phpから値が渡されてきます。これは地図jpg画像上でのx,y座標の値です。
ユーザが地図をスクロールすると、現在地MovieClipもスクロールとともに移動します。

…が、現在地を表すMovieClipをステージ上に配置し、x,yを単純にphpから渡された値にすると、当然ですがステージ上での座標になってしまいます。
これを、ScrollPaneに読み込んだjpg画像の座標と反映(同期)させる方法はあるのでしょうか。

宜しくお願いします。


考えますに、、、ScrollPaneに直接jpgを読み込まないで、(loadScrollContentしないで)
ScrollPaneにはjpgをロードムービーするムービークリップをもったシンボルをセットしておいて、
loadMovieはその内部のムービークリップにする。
で、location_mcはそのセットされたシンボルにattachMovieなりするようにすれば
配置の為の座標変換やScrollPaneのスクロールの度に
location_mcを移動させる必要がなくなるので簡単じゃないかなと思います。


----------------
- yo

kero835
Åê¹ÆNo.11160
投稿日時: 2004-9-29 13:35
新米
居住地:
投稿: 26
使用環境:
Windows2000,
FlashMX2004,
IneternetExplorer6.0
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
野中さま、youichさま、回答ありがとうございます。

>>youichさま
最初はそれを考えていたのです!
(切り分けのためこのスレでは省略していました…)
外部jpgファイルをmcに読み込み、それをスクロールペインに読み込む

しかし、やはり、下記2点が疑問です。

・loadScrollContent以外でScrollPaneにMovieClipをロードする方法があるのでしょうか?
 調べてみましたが分かりませんでした…。
・実は、読み込ませるjpg(地図)画像は固定のものではありません。
 phpから値が渡され、現在の地図を動的に読み込ませています。
 その場合、ScrollPaneにロードするMovieClipはどのようなつくりにしておけばよいのでしょうか?

ヒントだけでも結構です。宜しくお願いします。
youich
Åê¹ÆNo.11163
投稿日時: 2004-9-29 14:55
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
引用:


・loadScrollContent以外でScrollPaneにMovieClipをロードする方法があるのでしょうか?
 調べてみましたが分かりませんでした…。
・実は、読み込ませるjpg(地図)画像は固定のものではありません。
 phpから値が渡され、現在の地図を動的に読み込ませています。
 その場合、ScrollPaneにロードするMovieClipはどのようなつくりにしておけばよいのでしょうか?

ヒントだけでも結構です。宜しくお願いします。

えーっと下のような構造にすればいいんじゃないでしょうか?

                   ScrollPane
                       |

            ScrollPaneにせっとされるMovieClip 
            |                         |
jpgをロードするMovieClip(loader)     location_mc


jpgを実際にloadMovieするのは↓のようにcontentsの中のムービークリップということになりますね。

var cont = aScrollPane.getScrollContent();
cont.loader.loadMovie('xxx.jpg');


ちょっと解りにくいですか?サンプルふらを作りましたのでupしますね、
ScrollPaneにセットされるMapシンボルは#initclip ? #endinitclipで定義していますが、
ScrollPaneにセットした後すぐにjpgをロードさせるようなことがなければ普通のムービークリップでいいと思います。
中の地図(jpg)はスクリーンキャプチャーで取ったやつなので入れ替えてください。

http://as-coders.nct.jp/yo/ff/map.sit


----------------
- yo

kero835
Åê¹ÆNo.11193
投稿日時: 2004-9-30 13:46
新米
居住地:
投稿: 26
使用環境:
Windows2000,
FlashMX2004,
IneternetExplorer6.0
Re: ScrollPaneに読み込んだjpg画像のx,yを反映するMovieClip
youich さま、どうもありがとうございます。

サンプルをどうもありがとうございます!
まさに意図どおりの動作です。

いまサンプルを拝見しつつ鋭意勉強中です。(理解不足のためまだ解決しておりませんが…)
また質問させていただくかもしれません、その時は宜しくお願いします。

取り急ぎお礼まで
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops