//ローカル領域へのデータ保存
class SharedObjectEx {
private var textField:TextField;//テキストフィールド
private var so:SharedObject; //SharedObject
//コンストラクタ
public function SharedObjectEx(mc:MovieClip) {
var ref:Object=this;
//テキストフィールドの追加
textField=addTextField(mc,"textField","",10,10,200,20);
//ボタンの追加
var button0:TextField=addButton(mc,"button0","書き込み",10,36,50,20);
var button1:TextField=addButton(mc,"button1","読み込み",70,36,50,20);
//マウスイベントの処理
var mouseListener:Object=new Object();
Mouse.addListener(mouseListener);
mouseListener.onMouseDown=function() {
var x:Number=Math.floor(mc._xmouse);
var y:Number=Math.floor(mc._ymouse);
//書き込みボタン
if (10<x && x<10+50 && 36<y && y<36+20) {
ref.so.data.text=ref.textField.text;
ref.so.flush();
}
//読み込みボタン
if (70<x && x<70+50 && 36<y && y<36+20) {
ref.textField.text=ref.so.data.text;
}
}
//SharedObjectの取得
so=SharedObject.getLocal("so");
textField.text=so.data.text;
}
//テキストフィールドの追加
private function addTextField(mc:MovieClip,name:String,text:String,
x:Number,y:Number,w:Number,h:Number):TextField {
mc.createTextField(name,mc.getNextHighestDepth(),x,y,w,h);
mc[name].text =text; //テキスト
mc[name].selectable=true; //選択可
mc[name].border =true; //ボーダー
mc[name].type ="input";//入力
return mc[name];
}
//ボタンの追加
private function addButton(mc:MovieClip,name:String,text:String,
x:Number,y:Number,w:Number,h:Number):TextField {
mc.createTextField(name,mc.getNextHighestDepth(),x,y,w,h);
mc[name].text =text; //テキスト
mc[name].autoSize ="center";//オートサイズ
mc[name].selectable =false; //選択不可
mc[name].border =true; //ボーダー
mc[name].background =true; //背景色
mc[name].backgroundColor=0xdddddd;
return mc[name];
}
//メイン
static function main() {
var app:SharedObjectEx=new SharedObjectEx(_root);
}
}
|