Skip to main content
Known Participant
September 13, 2009
Question

AS3 Shared Object not working

  • September 13, 2009
  • 1 reply
  • 1125 views

I'm working on AS3 on main timeline. I have 20 frame labels parte1 to parte20.

On parte1 I have a preloader and SharedOject code. The preloader works fine. On parte8 I have a movie clip (whole_master), which contains three frame levels (g_level_1, g_level_22, and g_level_33). Each frame contains a level of a game.


PROBLEM

My sharedObject doesn't work. PLEASE SUGGEST WAYS TO CORRECT MY CODE, OR HOW TO MAKE IT WORK.

//Saving data

var so=SharedObject.getLocal("learningGames", "/");
so.data.whole_master=whole_master;
so.data.g_level_1=whole_master.g_level_1;
so.data.g_level_22 =whole_master.g_level_22;
so.data.g_level_33 =whole_master.g_level_33;

//testing if shared object exists

function testSO(): void
{
var so = SharedObject.getLocal("learningGames", "/");
if(so.data.whole_master==null){gotoAndStop("frontPage")}
}

// retrieving data from shared object and navigating to proper frame label

function checkSO(): void
{
var so=SharedObject.getLocal("learningGames", "/");
if (so.data.whole_master.g_level_1==true) {whole_master.gotoAndStop("g_level_1")}
if (so.data.whole_master.g_level_22==true) {whole_master.gotoAndStop ("g_level_22")}
if (so.data.whole_master.g_level_33==true) {whole_master.gotoAndStop ("g_level_33")}
}


German

This topic has been closed for replies.

1 reply

kglad
Community Expert
Community Expert
September 14, 2009

you have to evaluate so before you assign data.

german01Author
Known Participant
September 14, 2009

Kglad:

Is the following code what you meant by evaluating?

I get this error, which I believe is because whole_master movie clip isn't on frame 1, but on parte8 (frame 70).

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at LM_Instructor_fla::MainTimeline/frame1()


function testSO(): void
{

if(so.data.whole_master==null){gotoAndStop("frontPage")}
if(whole_master==null){gotoAndStop("frontPage")}

}

var so=SharedObject.getLocal("learningGames", "/");
so.data.whole_master=whole_master;
so.data.g_level_1=whole_master.g_level_1;
so.data.g_level_22 =whole_master.g_level_22;
so.data.g_level_33 =whole_master.g_level_33;

function checkSO(): void
{

if (so.data.whole_master.g_level_1==true) {whole_master.gotoAndStop("g_level_1")}
if (so.data.whole_master.g_level_22==true) {whole_master.gotoAndStop ("g_level_22")}
if (so.data.whole_master.g_level_33==true) {whole_master.gotoAndStop ("g_level_33")}
}