0

我在通过 AS3 时笨手笨脚,我又回到了希望能够从 sharedObject 加载我最后一次保存的想法。任何帮助将不胜感激,因为我仍然是 AS3 的新手。我还想将它附加到负载 btn。

// SAVE FUNCTIONS ---------------------------------------
//---------------------------------------------------
//---------------------------------------------------

var mySO:SharedObject = SharedObject.getLocal("iDesign");

bones_mc.x = mySO.data.my_x;
bones_mc.y = mySO.data.my_y;

if (!mySO.data.my_y) {
bones_mc.x = 424;
bones_mc.y = 119;
}

//---- THIS IS THE SAVER BTN
save_btn.addEventListener (MouseEvent.CLICK, clickersave);

function clickersave (e:MouseEvent):void {
mySO.data.my_x = bones_mc.x;
mySO.data.my_y = bones_mc.y;
mySO.data.mybut_x = btrfly_mc.x;
mySO.data.mybut_y = btrfly_mc.y;
mySO.data.mytig_x = tiger_mc.x;
mySO.data.mytig_y = tiger_mc.y; 
mySO.data.mybow_x = pink_bow_mc.x;
mySO.data.mybow_y = pink_bow_mc.y;      
mySO.flush ();
}
//----
bones_mc.buttonMode=true;

btrfly_mc.x = mySO.data.mybut_x;
btrfly_mc.y = mySO.data.mybut_y;

if (!mySO.data.mybut_y) {
btrfly_mc.x = 112;
btrfly_mc.y = 295;
}

btrfly_mc.buttonMode=true;

tiger_mc.x = mySO.data.mytig_x;
tiger_mc.y = mySO.data.mytig_y;

if (!mySO.data.mytig_y) {
tiger_mc.x = 804;
tiger_mc.y = 411;
}

tiger_mc.buttonMode=true;

pink_bow_mc.x = mySO.data.mybow_x;
pink_bow_mc.y = mySO.data.mybow_y;

if (!mySO.data.mybow_y) {
pink_bow_mc.x = 923;
pink_bow_mc.y = 579;
}

load_btn.addEventListener (MouseEvent.CLICK, loadlast);

function loadlast (e:MouseEvent):void {
bones_mc.x = mySO.data.my_x; 
bones_mc.y = mySO.data.my_y
//mySO.data.mybut_x = btrfly_mc.x;
//mySO.data.mybut_y = btrfly_mc.y;
//mySO.data.mytig_x = tiger_mc.x;
//mySO.data.mytig_y = tiger_mc.y;   
//mySO.data.mybow_x = pink_bow_mc.x;
//mySO.data.mybow_y = pink_bow_mc.y;        
mySO.flush ();
}
4

1 回答 1

0

当我想检查某人正在玩的游戏是否有 Flash cookie 时,我声明一个 _cookiesActive:Boolean 并使用以下代码:

try {
    so = SharedObject.getLocal("savedData");
    _cookiesActive = true;
} catch (error) {
    _cookiesActive = false;
};

然后,如果 _cookiesActive == true,您可以访问 so.data 以及您上次玩游戏时可能设置的任何变量,即:

bones_mc.x = so.data.my_x;
bones_mc.y = so.data.my_y;

..等等。
顺便说一句,上面示例中注释掉的代码会将变量保存到 SharedObject,而不是加载它们。所以你已经有了将它们保存在那里的代码。

正如您所建议的,在单击按钮时加载它们只是让代码将变量从 SharedObject 传递到 CLICK 的处理程序函数中的游戏变量。

于 2014-02-14T15:32:09.983 回答