| SharedObjectインスタンスはコンストラクタ関数を使用して作成しません。新規ローカルに作成するためにはgetLocal()メソッドかgetRemote()メソッドを使用します。 |
| プロパティ |
SharedObjectのプロパティにはdataがあり、そのdataはSharedObjectのデータ容器となります。
dataのプロパティを削除する場合はdelete演算子を使用すれば削除する事ができます。その他にプロパティにundefinedかnull の値を代入すると入っている値を除去する事が可能です。
|
| 次の例では訪問者がswfファイルにアクセスするたびに訪問回数を記録して出力しています。メインタイムラインの一フレーム目に書きのコードを記述してパブリッシュしてください。 |
var count_so = SharedObject.getLocal("counter"); if (count_so.data.counter == undefined) { count_so.data.counter = "はじめて来てくれましたね!"; } else if (count_so.data.counter == "はじめて来てくれましたね!") { count_so.data.counter = 2; } else { count_so.data.counter++; } trace(count_so.data.counter); |
| 型指定する場合は下記を参照してください。count_so:SharedObjectのコロンシンタックスで型指定をしています。 |
var count_so:SharedObject = SharedObject.getLocal("counter"); if (count_so.data.counter == undefined) { count_so.data.counter = "はじめて来てくれましたね!"; } else if (count_so.data.counter == "はじめて来てくれましたね!") { count_so.data.counter = 2; } else { count_so.data.counter++; } trace(count_so.data.counter); |
新規ローカルSharedObjectをgetLocal()メソッドで作成し、オブジェクトの名前(ObjectName)をcounterとします。
もしも count_so.data.counter がundefined(未定義値)だったら、 count_so.data.counter = "はじめて来てくれましたね!"とします。
一回目が"はじめて来てくれましたね!"なので、2回目訪問してくれたときは、count_so.data.counter = 2にします。
それ以降は保管されている数値に1を足して出力します。
count_soの_soはSharedObjectの接尾辞です。
ObjectNameには次の文字を含める事はできません。 ~ % & \ ; : ' , < > ? #
|
| SharedObject.flush()メソッド |
このメソッドはSharedObject.dataのプロパティの保存を試みます。
シンタックス
myLocalSharedObject.flush()
myLocalSharedObject.flush(minimumDiskSpace);
flashではなくflush
minimumDiskSpace : 最小ディスク領域バイト数。この値が1024なら1024バイトが最小ディスク領域バイト数となります。
このメソッドの戻り値はブール値であり、true false "pending"のいずれかを返します。
※戻り値:処理の結果として返す値。
簡単に説明すると、オブジェクトを保管する為のディスク領域が足りない場合は"pending"になりブールで保管が成功ならtrue、失敗したならfalseを返します。
※Pending : 宙ぶらりんで、未決定で ペンディング
ローカルに情報を記憶する事ができ、そのオブジェクトを保管する為の領域が確保できた場合ブール値はtrueを返します。割り当てられた領域が十分でない場合は文字列値(String値) の"pending"を返します。何かの理由で情報記憶域が確保できずflashがオブジェクトを保管できない場合かユーザーがこのドメインからのオブジェクトに対してローカル情報記憶域を永続的に禁止した場合はfalseを返します。
|
SharedObject.onStatus |
SharedObject.onStatus はSharedObjectクラスのイベントハンドラです。 flush()メソッドを使用して、ユーザーにローカル保存領域を増やすように警告された(戻り値がpending)時に、それを許可、否定するかをユーザーが選ぶ事ができます。選択終了後、このonStatusが呼び出されcodeとlevelのプロパティが定義されます。
・オブジェクトを保存するスペースを追加しなかった時のcodeプロパティ値は"SharedObject.Flush.Failed"
levelプロパティ値は"error"
・オブジェクトを保存するスペースを追加した時のcodeプロパティ値は"SharedObject.Flush.Success"
levelプロパティ値は"status" |
SharedObject クラスのメソッド一覧
|
メソッド |
説明 |
SharedObject.clear() |
共有オブジェクトのすべてのデータを消去し、ディスクから共有オブジェクトを削除します。 |
SharedObject.flush() |
ローカル永続共有オブジェクトをすぐにローカルファイルに書き込みます。 |
SharedObject.getLocal() |
現在のクライアントだけが利用できるローカル永続共有オブジェクトへの参照を返します。 |
SharedObject.getSize() |
共有オブジェクトの現在のサイズ (バイト数) を取得します。 |
SharedObject クラスのプロパティ一覧
|
プロパティ |
説明 |
SharedObject.data |
オブジェクトの data プロパティに割り当てられた属性のコレクション。これらの属性は共有および保存することができます。 |
SharedObject クラスのイベントハンドラ一覧
|
イベントハンドラ |
説明 |
SharedObject.onStatus |
共有オブジェクトに対してエラー、警告、情報通知が送信されたときに呼び出されます。 |
|