- ベストアンサー
SharedObjectについて
- ローカルフォルダ内の特定のファイルを使用して、FLASHMXのSharedObject機能を活用する方法について教えてください。
- 使用ソフトはFLASHMXで、特定のファイルをローカルのMy Documentsフォルダに用意し、SharedObjectを使用して操作することができます。
- 具体的な操作方法として、ボタンアクションによって描画や保存、消去などの機能を実現することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
たびたび,ご質問ありがとうございます。 と,私が言うのはすごく変ですが。 しようとされていることは,漠然とは理解できます。 すごく無謀なことというか,すみませんが悪く言うと邪道なことをされようとしていると思います。 それで,代替案などを考えてもみるのですが,代替案さえ思いつきません。 ---paint1.exeにsolファイルを読み込む--- EXEファイルがsolファイルを管理できるのかどうかがそもそもわかりません。 普通はSWFで使う物だと思いますし,実験してみても良いですが, これより下の方がかなり無謀だと思うので,実験もしてみていません。 このようなことを追求されたら,きっとこの方法のパイオニアになれると思います。 ---paintフォルダの中にpaint2.solがあれば、読み込む。--- My Documents\paint フォルダと言うことですよね。 読み込む前に,そんな自分が勝手に決めたところにsolファイルをSWF(EXE)からは保存できません。 手動では保存できますが,おそらく読み込まないと思います。 WindowsXPの場合, C:\Documents and Settings\ユーザ名\Application Data\Macromedia\Flash Player フォルダ内に決まっています。 その他のところに勝手に勝手なファイルを保存されたらいやでしょう。 例えば自分が入力フォームに入力した内容とかが他人にバレる可能性もありますし, Systemフォルダなど変な所に変な物を保存されたら,PCがうまく作動しなくなるかもしれません。 Flashの人気の理由は,アクティブにアニメーションが動くという部分もありますが,決してPCを侵害しないというところにあるのです。 その,セキュリティ性はバージョンアップを重なるごとに増して行っています。 そう言った意味で,FlashMXになって,Shared Objectという少々危険性があるものが生まれたことは奇跡的なことなのです。 将来的にも,勝手な場所にsolファイルを保存できるようになることは無理でしょう。 技術的な問題ではないです。セキュリティの問題です。 ---描画したものをpaintフォルダの中にpaint2.solとして保存し--- 保存する場所は別問題として, 描画したものと言うのはバイナリでしょうか? バイナリはできませんよ。要はJavaScriptでいうCookieのようなものです。 変数と値。つまりテキストデータしか保存できないと思った方が良いです。 http://www.macromedia.com/jp/support/flash/ts/documents/fl0277.html でも,以前,質問にあったのですが,参考になるかもしれない例があるにはあります。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1455100 私がつまらない回答をしていますが,回答は参考になりません。 回答ではなく質問の方が参考になるかもしれません。
お礼
お返事ありがとうございます。 御回答のとおり、この質問内容のままで可能であれば、セキュリティの観点から問題がありますね。 以前、FLASH関連書籍を読み、その中で 1. 描画情報をXMLデータに変換しSharedObjectに保存することで、保存したXMLデータを読み込み、描画を再現するというサンプルがあったこと 2. SharedObject.getLocalの指定の仕方で、どこにでも保存先を指定できるとあったこと から質問させていただきましたが、.exeではなく.swf、また保存先を指定する場合はC:\Documents and Settings\Administrator\ApplicationData\Macromedia\Flash Player\localhostなどより下層階層にするという方法でもう少し考えてみたいと思います。 詳しく教えてくださりありがとうございました。