Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-03-2004, 15:41   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Angry LocalSharedObjects speichern geht nicht

Hallo Alle,

ich möchte Daten als LSO speichern. Jetzt habe ich zunächst mal folgendes getestet:

Im Movie drei Buttons

1. Button (plus) Script:

ActionScript:
  1. on (release){gVSize="groß";}

2. Button (minus) Script:

ActionScript:
  1. on (release){gVSize="klein";}

3. Button (Speichern) Script:

ActionScript:
  1. on (release) {
  2.     vPrefs=SharedObject.getLocal("vPrefs");
  3.     vPrefs.data["v_size"] = gVSize;
  4.     vPrefs.flush();
  5.     delete vPrefs;
  6.     gotoAndPlay(1);
  7. }

Auf Bild 10 liegt das Script:

ActionScript:
  1. stop();
  2. vPrefs=SharedObject.getLocal("vPrefs");
  3. if(vPrefs.data["v_size"]!=null){
  4.     gVSize=vPrefs.data["v_size"];
  5. }else{
  6.     gVSize="klein";
  7. }
  8.  
  9. delete vPrefs;
  10.  
  11. trace(gVSize);

Leider gibt Trace immer nur "klein" aus, auch wenn ich vorher auf den Plus-Button geklickt habe. Dann sollte gVSize doch "gross" sein. Oder?

Jörg
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 24-03-2004, 16:27   #2 (permalink)
i++
snafu
 
Benutzerbild von i++
 
Registriert seit: Feb 2003
Ort: 5 feet over ground
Beiträge: 214
hi,

if (vPrefs.data["v_size"] != undefined){
...
}

so sollte es klappen.

i++
i++ ist offline   Mit Zitat antworten
Alt 25-03-2004, 21:06   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Angry globale Variablen?

@i++ --> Danke, undefined hat mich schon weiter gebracht und das LSO wird auch gespeichert, allerdings ändern sich die Werte nicht. Liegt das vielleicht an der Variablen-Deklaration. Ich habe gVSize und vPrefs im 1. Bild als global deklariert, also:
ActionScript:
  1. _global.gVSize;
  2. _global.vPrefs;

und um nicht durcheinanderzukommen habe ich das Script in Bild 10 geändert:

ActionScript:
  1. stop();
  2. vPrefs=SharedObject.getLocal("vPrefs");
  3. if(vPrefs.data["v_size"]!=undefined){
  4.         gVSize=vPrefs.data["v_size"];
  5. }else{
  6.         gVSize="default";
  7. }
  8.  
  9. delete vPrefs;
  10.  
  11. trace(gVSize);

Jetzt gibt mir trace immer nur "default" aus (in der .sol-Datei steht das auch). Warum ändert sich die Variable nach dem Klick auf den Button nicht. Muss ich die Variable in jedem Script als global deklarieren (wie bei Lingo z.B.)?

__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele