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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     Flash単体でデータの読書きは可能か
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuuyuu
Åê¹ÆNo.3666
投稿日時: 2004-2-10 17:21
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Flash単体でデータの読書きは可能か
こんにちは。

題記についてですが、Flash単体では外部へ読書きできないというのが大方の統一見解だと思います。
ですが、ある参考書に「ローカルへのデータの保存、読込み」というのを見かけました。SharedObjectを使って、ローカルにsolファイルなるものを作って、保存・読込みを行なうというものでした。

これを見る限りでは読書き可能のような気がするんですが、普通の市販の参考書なのでみなさんこのことを知った上で「無理」と言っていると思うんです。

では、この方法では何がいけないのか、何か根本的な所での性質の違いがあるのか、ご意見をお聞かせ願えないでしょうか?
これが可能であるなら、CD-ROMコンテンツのゲームの、ランキングとかに使いたいと思っています。
参考までにコードを記述します。

[textボックスに名前を入力して保存ボタンで保存する]
on(press) {
 SO = SharedObject.getLocal("theData");
 SO.data.name = txt1;
 SO.flush(); //solファイル"theData"に保存
}

[読込ボタンで保存したデータをtextボックスに表示する]
on(press) {
 SO = SharedObject.getLocal(theData);
 txt2 = SO.data.name;
}

ちなみにその参考書ですが、
FlashMX ActionScript逆引き大全500の極意
(秀和システム)
です。
笠居トシヒロ
Åê¹ÆNo.3668
投稿日時: 2004-2-10 17:42
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: Flash単体でデータの読書きは可能か
こんにちは。
ちょっと勘違いや誤解があるようなので「ローカルデータ」に関して整理だけ。。。

1、Flash単体で『ローカルにあるデータを読む』ことは可能です。
#もちろん、Flashが読み込み可能な形式のデータである場合、ですが。

2、SharedObjectは、Flashがローカルディスクにデータを保存できる
現在のところ唯一の手段ですが、いくつかの制限があります。
 ・Flashプレイヤーの設定によってあらかじめ割り当てられた容量分の保存ができる。
 ・自動的に割り振られるディレクトリに保存される。
 ・独自のフォーマットで記録される。
 ・ユーザーは、プレイヤーの設定によって、この機能をOFFにすることができる

つまり、他の皆さんが『できない』と言っておられるのは、
『任意の場所に、任意のフォーマットで、制限無くファイルを保存すること』
だと考えられます。
例えば、「デスクトップに、テキストファイルを保存する」といったことはできないわけです。

読み込みができないとは、皆さん言っておられないと思いますが、
もし読み込みにおける制限があるとすれば、下記のセキュリティ仕様に抵触する場合でしょう。
http://www.macromedia.com/jp/support/flash/ts/documents/fl0294.html
http://www.macromedia.com/jp/support/flash/ts/documents/fl0103.html


----------------
笠居 マッドシー
http://www.mad-c.com/

野中文雄
Åê¹ÆNo.3669
投稿日時: 2004-2-10 17:46
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Flash単体でデータの読書きは可能か
Flash単体では、テキストファイルを保存することはできません。また、ローカルディスクの任意の場所にデータを書込むことも、セキュリティ上できなくなっています。

逆に、テキストファイルを読込むことは可能です。また、SharedObjectクラスを使って、ローカルディスクの決められた場所にデータを保存することは可能です。なお、SharedObjectは、Flash Player 6以降で利用できます。

参考: [SharedObject.getLocal の保存先について]
引用:
yuuyuuさんは書きました:
題記についてですが、Flash単体では外部へ読書きできないというのが大方の統一見解だと思います。
ですが、ある参考書に「ローカルへのデータの保存、読込み」というのを見かけました。SharedObjectを使って、ローカルにsolファイルなるものを作って、保存・読込みを行なうというものでした。

データの保存先が、ローカルディスクの特定場所でよろしければ、SharedObjectで対応できるでしょう。
引用:
これが可能であるなら、CD-ROMコンテンツのゲームの、ランキングとかに使いたいと思っています。

なお、データの保存がムービー終了時でよければ、SharedObject.flush()メソッドは使わなくても構いません。
on(press) {
 SO = SharedObject.getLocal("theData");
 SO.data.name = txt1;
 SO.flush(); //solファイル"theData"に保存
}


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

c-geru
Åê¹ÆNo.3671
投稿日時: 2004-2-10 17:51
職人
居住地: 文京区本郷
投稿: 209
使用環境:
10.6.8+ CS5.5
Win7+ CS4
Re: Flash単体でデータの読書きは可能か
小川です。

引用:
これを見る限りでは読書き可能のような気がするんですが、普通の市販の参考書なのでみなさんこのことを知った上で「無理」と言っていると思うんです。

では、この方法では何がいけないのか、何か根本的な所での性質の違いがあるのか、ご意見をお聞かせ願えないでしょうか?

外部へ読書きでよく出てくるのが、ユーザの指定したテキストファイルを読み込ませたいとか、そういう任意の場所に対する読み書きの場合が多いので、それは「できない」ということだと思います。

ご存じかもしれませんが、SharedObjectはキャッシュと同じようなもので保存場所は規定されいますので。

yuuyuuさんのおっしゃるような用途であれば、問題ないと思います。
yuuyuu
Åê¹ÆNo.3681
投稿日時: 2004-2-10 20:30
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: Flash単体でデータの読書きは可能か
皆様、お返事ありがとうございます。

単体での書き込みができないのは、テキストファイルの場合であり、solファイルでよい仕様なら問題なく読書きができる。ただし、保存先を完全に任意には指定できない、直接編集が困難な.solファイルとして保存される、ということでよいでしょうか?

では、今回私が作ろうとしている、ゲームのランキング表示・更新(名前、得点、時間を表示し、上位10位までしか保存しない)程度は問題なく作れる、ということですね。

私のなかで、「書き込みできない」が一人歩きしてしまって、Flash自体が無理な仕様だとカン違いしていました。

皆様、ご教示くださいまして、ありがとうございました。
野中文雄
Åê¹ÆNo.3683
投稿日時: 2004-2-10 20:51
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: Flash単体でデータの読書きは可能か
そのとおりです。
引用:
yuuyuuさんは書きました:
単体での書き込みができないのは、テキストファイルの場合であり、solファイルでよい仕様なら問題なく読書きができる。ただし、保存先を完全に任意には指定できない、直接編集が困難な.solファイルとして保存される、ということでよいでしょうか?

データの記録対象は、あくまでローカルディスクになります。したがって、そのPC上におけるデータ(名前、得点、時間を表示し、上位10位)であれば、問題なく保存可能です。
引用:
では、今回私が作ろうとしている、ゲームのランキング表示・更新(名前、得点、時間を表示し、上位10位までしか保存しない)程度は問題なく作れる、ということですね。


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

yuuyuu
Åê¹ÆNo.3718
投稿日時: 2004-2-12 10:03
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: Flash単体でデータの読書きは可能か
Fumio様

おはようございます。
返事が遅くなりまして申し訳ありません。

これで、1つFlashについての確信をもてる知識を得ることができました。
ありがとうございました。

引用:

Fumioさんは書きました:
そのとおりです。
引用:
yuuyuuさんは書きました:
単体での書き込みができないのは、テキストファイルの場合であり、solファイルでよい仕様なら問題なく読書きができる。ただし、保存先を完全に任意には指定できない、直接編集が困難な.solファイルとして保存される、ということでよいでしょうか?

データの記録対象は、あくまでローカルディスクになります。したがって、そのPC上におけるデータ(名前、得点、時間を表示し、上位10位)であれば、問題なく保存可能です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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