Shared Objects, zijn een soort cookie, ze worden weggeschreven in je "flash
player" directory, en hebben hun eigen formaat (*.SOL).
De *.SOL bestanden worden in "C:Documents and SettingsGebruikersNaamApplication
DataMacromediaFlash Player#SharedObjects" weggeschreven (default installatie).
Deze informatie blijft op de harddisk staan, totdat je deze verwijderd worden
door de gebruiker zelf, of door de code "clear();"
Met deze Shared Objects kunnen we verschillende dingen doen, zoals bijvoorbeeld,
een inlog scherm maken, dat de gegevens onthoudt voor de volgende keren.
Of de positie onthouden van bepaalde mc's in je swf.
Hieronder een voorbeeldje van beide dingen die ik hierboven beschreef.
Shared Object aanmaken.
Het aanmaken van een Shared Object gebeurt door het volgende stukje AS:
gegevens = SharedObject.getLocal("eenKoekje");
Met bovenstaande AS, die je kwijt kunt in een keyFrame, maak je dus een Shared
Object aan met de naam "gegevens".
Met "getLocal" maak je lokaal dus dat Shared Object, je kan dus geen
cookie maken, waarmee je, bijvoorbeeld op een andere pc, dezelfde opgeslagen
data kan terug lezen.
Het "SharedObject" mag alle characters bevatten, behalve "~ %
& ; : " ' , < > ? #" en spaties.
De default grootte van een Shared Object kan tot 100k zijn, als je meer data
wilt opslaan, dan opent de flashplayer het instellingen window waarin de viewer
zelf de standaardinstelling kan verhogen.
het instellingen schermpje
note:
zorg wel dat de swf minimaal 215 x 138 pixels groot is, dit
zijn de minimale afmetingen die flash nodig heeft om het instellingen scherm
te laten zien.
Hierboven plaatsen we dus 3 items in het Shared Object gegevens.
De flush(); is optioneel, waneer we deze gebruiken, dan zet flash de waardes
gelijk in het Shared Object.
Als je flush(); niet gebruikt, dan worden die waardes in een aparte file opgeslagen,
totdat de swf word afgesloten, of leeg gemaakt wordt met SharedObject.clear(); data is de informatie die in het Shared Object
zit, dit kan vanalles zijn, zoals strings, booleans, simpele AS, javascript,
etc etc.
Met deze code kunnen we uit "gegevens" onze variabelen opvragen.
In bovenstaande voorbeeldje zou je de gegevens in textveldjes kunnen laten zien,
met de variable namen "naam", "leeftijd" en "hobby".
Shared Objects deleten
Met de functie clear(); verzamelt onze flash eerst
alle gegevens uit ons Shared Object, en delete daarna het Shared Object van
je harddisk.
Dus alle gegevens zijn nog wel beschikbaar, maar bij een volgende keer zijn
er geen gegevens meer beschikbaar.
Om de juiste gegevens te verwijderen gebruik je deze functie als volgt:
gegevens = SharedObject.getLocal("eenKoekje");
gegevens.clear();
clear(); is pas beschikbaar sinds flash 7.
Shared Objects kan je vanuit andere swf's ook aanspreken als je ze een path
meegeeft, dat path kan je kwijt in de code die je gebruikt om je cookie te maken
of te lezen, bijvoorbeeld : gegevens = SharedObject.getLocal("eenKoekje",
"/" );
De default waarde van het path is localPath, en zal dus door geen andere swf
kunnen worden aangesproken, de slash in bovenstaande voorbeeldje zorgt ervoor
dat het Shared Object ook door andere swf's kunnen worden gebruikt.
De kans dat je swf, het Shared Object aanspreekt, dat van een ander domein af
komt is nihil (zelfs met dezelfde naam en data), want bij het creeren van het
Shared Object, word die geplaatst in een map met de naam van het domein.
Tot zover mijn tutorial over Shared Objects ook wel bekend als cookies.
Je kan met deze Objecten natuurlijk veel meer doen dat wat ik in deze tutorial
vertelde, je kan bijvoorbeeld de verschillende settings van een game onthouden
die je meer dan eens speelt, of laten zien hoevaak iemand je swf bekijkt.
Dat is verder helemaal aan jullie fantasie over gelaten.
Ik hoop in ieder geval dat jullie iets aan deze informatie hebben.
Download hier
de door mij gebruikte .fla's
m.v.g vinTage.
Mocht deze tutorial nog niet helemaal voldoen aan je verwachting, bezoek
dan mijn website voor een
eventuele geupdate tutorial.
mvg vinTage