• ベストアンサー

動かしてもらった情報を、別アプリケーションで使用したい

このようなことができるかどうか、教えてください。 FLASHでアルバムやカレンダーなどの作成を考えています。 WEB上でユーザにレイアウトをしてもらい 各オブジェクトの位置情報や大きさ、ユーザに入力してもらったテキスト情報などをCSVやXMLなどで保存します。 そのデータを使って、イラストレータまたはインデザインで、ユーザがWEB上で作成したレイアウトを再現することは可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

摩訶不思議で,広範囲すぎるご質問ですから, 誰もわからないと思います。 私もわかりませんが,わかる範囲での回答というか,感想のような回答をします。 一番のネックは,Illustrator などで再現する部分だと思います。 ● Flash → CSV などでデータ保存 Flash は単体では普通ローカルPCにデータを保存できないので, これは,手動を全く入れないとするなら,サーバ上に保存するのが一般的です。 サーバ上に保存も単体ではできませんが, CGI や PHP などに,Flash からデータを送信して, CGI や PHP などのプログラムでサーバ上にデータを保存することは多くの方がされています。 プログラミングの難しさの80%くらいは,CGI や PHP などのサーバサイドプログラミングだと思います。 Flashからは,例えば,  a1=100&a2=150&b1=20&b2=500&… のような,オブジェクトの座標や文字列データを送信するだけで, それをサーバ側のプログラムで受けとり,整形して, CSVやXMLなどでサーバ上に保存することになると思います。 ● CSV などのデータ → Illustrator などで再現 ここをどうするかですね。 Illustrator は Illustrator専用 の,InDesign は InDesign 専用の JavaScript によって, オブジェクトの作成やレイアウトを自動ですることができます。 しかし… ■Illustrator CSのJavaScriptで、できることと、できないこと http://www.openspc2.org/book/IllustratorCS/intro/006/index.html > ・ネットワークに関する処理 > Webからデータをダウンロードしてきて、 > それを元にしてレイアウトするといったことはできません。 ■InDesign CSのJavaScriptで、できることと、できないこと http://www.openspc2.org/book/InDesignCS/intro/006/index.html > ・ネットワークに関する処理 > Webからデータをダウンロードしてきて、 > それを元にしてレイアウトするといったことは単独ではできません。 > 単独では、と書いたのには理由があります。 > 外部にプログラムを用意し、 > それを呼び出す事で可能になるためです。 > ただし、データの受け渡しに関してはファイルもしくは > クリップボードなどを利用するようにしたり、 > 同期を取るためにalert()などで処理が終わったのを > ユーザーに確認してもらうなど何らかの対処が必要になります。 上記URLの引用 では Illustrator と InDesign では少し違う文章が書かれていますが, 結局ほとんどおなじことです。 単独ではWebからデータをダウンロードしてきてそれを元にしてレイアウトするといったことはできないのです。 ここが問題で,できないのであれば, この CSV などのデータを "ローカルに保存" する部分は, ブラウザやメーラーなどを介して,人間が(クライアントユーザが)ローカルPCにデータを保存しなければなりません。 もしくは,ネット上の CSV や XML を保存するソフトのようなものを開発するしかないような気がします。 そして, なんとか CSV や XML をローカルに保存したとすれば, クライアントユーザが Illustrator のAIファイルを開き, その CSV や XMLデータ を元に,JavaScript によって,オブジェクトを並びかえると, Flash のオブジェクトの状態を ユーザ の PC 上の Illustrator で再現することが可能です。 --------------------------------------- > イラストレータまたはインデザインで、 > ユーザがWEB上で作成したレイアウトを再現する Illustrator なら, ネット上の Flash と同じオブジェクトを用意した AI ファイル を持っていて(レイアウトなどはどうでも良い状態), さらに,JavaScript の JS ファイルも持っていた場合の話ですよ。 その AI と JS がユーザPCにそろっているということが前提で, CSVやXMLデータをなんとかローカルに保存することができたら, ネット上の Flash と PHP などによって生成された CSVやXMLデータをもとに, Illustrator 上で,Flash と同じようなレイアウトが再現可能だと思います。 上の場合だと,少なくとも, ActionScript, PHPなどサーバ上のプログラム,Illustrator の JavaScript, この3つは必要で, なおかつ,CSVやXMLデータをローカルに保存するしくみを考える必要があります。 また,Flash と PHP などに関しては, 作成側にちゃんとしたソフトや環境や技術がそろっていれば良いだけだと思いますが, ユーザー側に少なくとも Illustrator がないと, Illustrator のデータは閲覧不可能ですし, Illustrator を持っていたからと言って,最初に書いたURLサイトにあるように, Illustrator10 と IllustratorCS では JavaScript が少々違いますし, Illustrator CS と Illustrator CS2 では,また若干違うでしょう。 また,ユーザの操作能力などによっても, 不具合が出る可能性があるので,かなり難しいと思います。 また,JavaScript だと,OSにはそんなに左右されないとは思いますが, ネット上のデータをローカルに保存するようなソフトは, Windows や Mac などによって,全く別のプログラミングをしなければならないと思います。 Flash → CSV など → Illustrator やはり, CSV など → Illustrator ここにかなり高い障壁があると思います。 Illustrator と聞くと, デザインオンリーの芸術派の方ばかりかと思われがちですが, 実はそういう方達はかりではなく, ここのコミュニティでも,Illustrator の JavaScriptプログラミングで, 頼りになる方がたくさんいらっしゃるようですよ。 Q&Aを検索されると,すごいプログラミングでお見事な回答も出てきます。 ※どういう目的で,  そういう普通ではないことを  しようとされているのかはわかりませんが,  私がデータ提供側の立場であれば,  そんな難しいことはしたくありませんし,  私1人の力では無理です。  また,私がユーザの立場でも,  Flash(SWF) でレイアウトするのだったら,  自分で Illustrator などでレイアウトする方が,  簡単で楽だと思います。  AIなどのデータ提供側も,ユーザも,  普通に使うのがいちばん楽ですよ…。 ---最後に---------------------------------------- 可能か不可能かと言われれば,当然可能でしょう。 上のように少しずつ色々なものを組み合わせるのではなく, Flash でレイアウトしたデータを XML などで保存して,サーバ上でAIファイルを生成してしまうようなソフトを開発してしまえば良いわけです。 PHP や Illustrator の JavaScript を頼らず, 自分で AI ファイルを生成してしまうようなプログラミングができる力がある方でしたら,簡単なことでしょう。 ただ,そういうソフトを開発する能力が普通の人にはないと思います。 また,能力がある方でしたら,元からココには質問しませんよね。 したがって,普通は上に書いたように, ActionScript や PHP や Illustrator の JavaScript のように元々ソフトが持っている力を利用するのですが,それでは障壁が高くなってしまうのです。

teke-teke
質問者

お礼

丁寧な回答を頂き、ありがとうございました。 自分でもFLASH単体では無理だと思い、いろいろと検索をして 探していたのですが、情報を探し当てることができなく、 このような摩訶不思議な質問になってしまいました。 JavaScriptありがとうございます。 教えていただいたことを参考に、一度挑戦してみようと思います。

関連するQ&A