SharedObjects är en typ av cookie som Flash använder och skulle rekomendera att du använder dem. Det är enklast.
Det första du skall göra är ju att skapa ditt SharedObject. Vilket man gör med metoden getLocal() istället för med det vanliga "new":
mySO = SharedObject.getLocal("mute");
"mute" är här namnet på den "cookie" som du vill spara. Denna cookie kommer att vara förknippad med just denna flashfilmen.
Metoden har även två "valfria" parametrar som dels anger sökväg till objektet och dels ifall objektet skall vara säkert, Vilket innebär att objektet bara kan nås av filmer som laddas via https). Slå upp metoden i actionscriptreferensen för mer information om dessa parametrar.
När du anropar getLocal så kollar Flash om det finns ett objekt med angivet namn på angivet ställe. Finns det det så laddas datan från det objektet in. Hittas inte objektet så skapas ett nytt.
Själva datan i objektet kommer man åt via objektets property "data" Så om du skall spara någonting i objektet så använer du kod som följande:
mySO.data.isMute = true;
Dock lagras inte datan på hårddisken direkt utan det sker först när objektet stängs, antingen genom att flashfilen stängs eller att man anropar metoden close(), eller man anropar objektets metod flush().
Det är som sagt inget måste att anropa flush() för att såpara datan. Det är bara om det kan finnas mer än en flashfilm öppen samtidigt som refererar till data i objektet. Eller att man verkligen vill säkerställa att datan finns kvar vid eventuell dator-/player-krash.
Så för att koppla ihop det hela med ditt problem så inled med att skapa ett objekt som ovan. I koden för din muteknapp så lägger du in om mute är på eller av. Tex som jag gjort i exemplet ovan där jag sätter isMute = true. Sedan så i början av din film. T.ex direkt efter det att du öppnat ditt SharedObject så kolla om isMute är true eller false. Är den false så spela ljudet som vanligt.
T.ex:
// Skapar en referens till SharedObject "mute"
mySO = SharedObject.getLocal("mute")
// Kollar om mute är av eller på...
if(!mySO.data.isMute)
{
// Ingen mute! Spela ljudet som vanligt.
} else{
// Mute är på.
}
/Mirandir