- ベストアンサー
Flashを使用した分布図の実装方法
- Flashを使用して分布図を実装する方法をお教えください。
- Flashはデータベースを使用できることや円グラフの描画が可能であることが分かりましたが、分布図の実装方法がわかりません。
- 普段Flashを使用している方々の知恵を借りて、分布図の実装方法を教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
分布図と言っても色々あるので, そちらの参考URLの方が欲しかったと思います。 古書店ガイドの「東京古書店分布図」 …(1) http://www.linkclub.or.jp/~k-nomura/kosho/kosho.html の www.linkclub.or.jp/~k-nomura/kosho/kosho.gif 「震度分布図」 …(2) http://www.seisvol.kishou.go.jp/eq/2003_07_26_miyagi/map3.html 「平成17年 首都圏 地価分布図」 …(3) http://www.tokyu-land.co.jp/map/chikabunpu/h17s/s-chika.html 「おでんあれこれ[おでん種分布図]」 …(4) http://www.odengaku.net/arekore/odendane.html 単なる分布図の一例ですが, 上記(1)~(4)の例で行くと,(1)と(2)のような単なるプロットのものでしたら比較的簡単にできると思います。 (3),(4)もなんとかすれば出来る気はしますが,良い方法を思いつきません。 >> 「こうやったら分布図実装できる」と紹介しているようなサイト は知りませんので (1)と(2)のような場合で概略を説明しておきます。 (1)は単なるプロットで(2)はプロット自体に複数の種類がある場合です。 (1)の場合,1つの ● (2)の場合,各1つずつ 1,2,3,4,5などと書いたもの をあらかじめ Flash の中に用意しておきます。 Flash の中には ライブラリ と呼ばれるオブジェクトの格納庫が用意してあります。 その格納庫であるライブラリにその ●や1~5をオブジェクト(ムービークリップ)として用意しておいて, 外部に用意した変数によって, そのライブラリのオブジェクトをステージの指定座標に持ってくれば良いわけです。 ライブラリから呼び出す方法ですが, これのキーワードは attachMovie です。 http://livedocs.macromedia.com/flash/8_jp/main/00002440.html 一応,Flash の公式マニュアルのURLを書いておきましたが, attachMovie と Google などで検索していただくとサンプルや様々な方法例が見つかると思います。 次に,その attachMovie したオブジェクトを座標に配置すれば良いことになります。 配置するのは簡単なことで,オブジェクトの x座標プロパティ と y座標プロパティ をそのオブジェクトに指定すればOKです。 オブジェクト名._x = 100; オブジェクト名._y = 150; こんな感じです。 この 100 とか 150 の単位は,ピクセルで, メインムービー(_root)に置いたオブジェクトの座標の ( 0, 0 ) 点は, Flash のステージ上の 左上 から数えたピクセル数になります。 モニタの座標の取り方と同じ左上の端が基準です。 下地の地図(?)などの,ちょうどプロットしたい座標を外部変数にそのまま書いておくか, 東経○○度,北緯○○度みたいなデータを外部変数に用意しておいて, Flash 内に用意した公式で ピクセル数に換算してもOKです。 プロットデータを用意する前か,用意した後,どちらでも良いですが, うまく下地の地図とプロットポイントが合うように計算する(させる)必要はあります。 XML と書かれてあります。 当然 XML でもできますが,それほど大した物も必要ないかもしれません。 例えば,1つプロットのデータの形を プロット番号(変数)=タイプ, x座標, y座標 と決めておけば, plot1=mark1,100,150 これだけで,1つのオブジェクトを attachMovie できて,1つのポイントに配置できます。 単に Flash 側から外部データを読みに行く場合は, loadVars でできます。 http://livedocs.macromedia.com/flash/8_jp/main/00001588.html XML も読み込みできますし,単なるテキストデータも読み込み可能です。 また,上で書いたように 変数名=値 というデータ形式にしておくと,変数名を指定しただけで,その値も参照できます。 また, 変数名1=値1&変数名2=値2& … &変数名100=値100 のように 変数=値 の間に & を挟めば複数の 変数=値 を1つのデータとして用意することができます。 つい先日,私が回答したもので,ちょっと話は込み入っていますが, 外部変数を単にFlash内に表示するという,もっと簡単な例です。 何か参考になることがあるかもしれません。 「質問:引数の渡し方」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1972156 ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/kotaeru.php3?q=1972156 という感じで,attachMovie と loadVars を中心に 配列やfor文やsplitなど色々細々したことをやっていけば, 最初の(1),(2)のようなことはデータさえあれば Flash で動的に作ることができます。 しかし,あまりプロット数が多いとFlashの限界を超えてしまします。 「オーサリングにおける Flash の限界について」 http://www.macromedia.com/jp/support/flash/ts/documents/fl0115.html この辺を参考に,限界を超えそうな場合は,対処方法を考えながらやってみるとできると思います。
その他の回答 (1)
- suzuko
- ベストアンサー率38% (1112/2922)
参考URLの様なモノでしょうか? 作れるかも知れませんが、初心者で仕事なら外注する方が安くつくのではないでしょうか?
お礼
回答ありがとうございます。 私は末端の人間なので、外注するとか決められる地位ではありませんし、お客様とのつながりが大きいので、お客様が作れと言い、上が作れと言えば作るしかありません。 とりあえず、Flashには元々興味があったので、自宅でサンプルでも作ってみようと思って質問しました。 FlashMXを個人で持っているので(興味本位で買いましたが、あまり触らず放置)、これを機に挑戦しようかと思いました。
お礼
回答ありがとうございます。 大変詳しく、参考になりました。 だめもとでも頑張って挑戦してみようと思えました。 Flashは工夫すればいろいろなことができそうで、わくわくしますね。 でも、なかなか時間がとれずに買ったFlashも宝の持ち腐れでしたが、良い機会ができたので、時間を作って触ってみようと思いました。 実際仕事のレベルまで持ち上げることになると、数十万のプロットデータをOracleDBから読み込むことになるのですが、まずはテキストから数個のデータを読み込むところから始めようと思います。 もちろん、数十万のデータを実際に表示するとレスポンスは最悪だと思いますので、何か工夫を考えつつ…。 教えてくださった問題点なども考慮してがんばってみます。 本当にありがとうございました。