Talking about Actionscript 3 and Flash.
This is the AS3 version of Managing savegames with Flash shared objects.
In this post I’ll explain the basic of shared objects, then later I’ll add the feature to Designing the structure of a Flash game – AS3 version in order to have a game template more complete.
Let’s start with the result: that’s what we are going to create:
As you will see, the counter increases when you reload the page.
Let’s take a look at the script:
package {
import flash.display.Sprite;
import flash.net.SharedObject;
import flash.text.*;
public class as3_shared_objects extends Sprite {
var shared:SharedObject;
public function as3_shared_objects() {
shared = SharedObject.getLocal("reloaded");
if (shared.data.visits==undefined) {
shared.data.visits = 1;
}
else {
shared.data.visits ++;
}
show_text(shared.data.visits);
shared.close();
}
public function show_text(str) {
var shared_text:TextField = new TextField();
var format:TextFormat = new TextFormat();
format.font = "Lucida Console";
format.color = 0xffff00;
shared_text.width = 300;
shared_text.defaultTextFormat = format;
shared_text.x = 25;
shared_text.y = 15;
addChild(shared_text);
shared_text.appendText("You visited this page "+str+" times");
}
}
}
Line 3: importing the class handling shared objects
Line 6: declaring a SharedObject variable called shared
Line 8: getLocal()
returns a reference to a locally persistent shared object (in this case reloaded
) that is available only to the current client. If the shared object does not already exist, getLocal()
creates one.
Lines 9-11: when looking at the visits
value inside the shared ojbect, I set it to 1
if it’s undefined
(it’s the first time I am executing the script)
Lines 12-14: if visits
is not undefined
, it’s not the first time I am executing the script, so I have to increment its value
Line 16: closing the shared object. Some docs say you may experience problems if you don’t close it… I tried and I haven’t any… but I am closing it anyway…
Never miss an update! Subscribe, and I will bother you by email only when a new game or full source code comes out.