Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-10-2003, 10:45   #1 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
Variablen werden nicht korrekt übergeben

Hi,

ich hab in nem Main-Film (index.swf) einen Contentfilm (content1.swf) in Level2, und eine Hintergrundmucke (musik.swf) mit nem Start/Stop Button in Level3 geladen. Vom Content-Film wird ein eigener Cursor (cursor.swf) in Level4 geladen.
Da die verschiedenen Contents verschiedene Farben haben und der Cursor bei Mouseover sich farblich anpassen soll, hab ich in den Content1-Film eine Variable gesetzt (_level0.green=true; )

Ich möchte nun das der Cursor auch beim zugeladenen Musik-Film die Farbe wechselt. Das Mucke.swf bleibt immer geladen und wenn jemand auf den Start/Stop Button drückt, soll sich der Mauszeiger je nach geladenem Content verfärben.

Content1 = grün
Content2 = blau
usw.

Der Button des Musik SWF hat dann ne if-Schleife in der ich die geladene Variable der Contents auslesen will, damit der Musikfilm weiß, welche Mouseover-Farbe er annehmen soll.

Es wird aber immer nur einmal der Mauszeiger verfärbt, beim wiederholten Versuch passiert garnix mehr und auch nimmt in jedem Content die Maus immer dieselbe Farbe an. D.h. Content-Grün wird als erstes geladen und der Mauszeiger färbt sich schon Blau. Beim rollOut wird der cursor wieder grau und beim erneuten rollOver passiert nix mehr. Lade ich Content-Blau wird der Cursor auch nur einmal blau und dann nix mehr.


Content Variable:

ActionScript:
  1. _level0.blau=true;

Musik Button:

ActionScript:
  1. on (rollOver){
  2.     if (_level0.green=true){
  3.     _level4.cursor.gotoAndPlay("green");
  4.     } if (_level0.blue=true){
  5.     _level4.cursor.gotoAndPlay("blue");
  6.     }
  7. }
ActionScript:
  1. on (rollOut){
  2.               _level4.cursor.gotoAndStop("grau");
  3. }

Ich weiß nicht genau wo der Fehler dabei liegt, vielleicht denk ich da auch flasch - hmm. Kann sich das mal jemand zu Gemüte führen?

Ich hoffe das ich das Problem einigermaßen nachvollziehbar darstellen konnte ;-) Falls nicht, dann muss ich mal ein Beispiel-Zip feddich machen. Sagt dann einfach mal Bäschaid

Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)

Geändert von Schnetty (24-10-2003 um 10:54 Uhr)
Schnetty ist offline   Mit Zitat antworten
Alt 24-10-2003, 10:51   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Bei if-Vergleichen benötigst du immer mindestens 2 Gleichheitszeichen, bei Überprüfung auf den Objekttyp sogar 3!
ActionScript:
  1. if(Bedingung == true){...}
  Mit Zitat antworten
Alt 24-10-2003, 11:25   #3 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
Auweia,

kleines Zeichen, große Wirkung ;-)
Soweit funzt das jetzt:

ich starte den Film, er lädt content1, der Mauszeiger ist nun grün.
ich klicke auf den Button "Content Blau", der Film Content1 wird entladen, der Film Blau geladen, der Mauszeiger ist nun blau.

Dann der Haken: geh ich nun zurück auf Content-Grün, so wird der Mauszeiger nicht wieder grün sondern bleibt blau.

Wird die Variable nicht mit gelöscht wenn der Film, in der sie steht entladen wird?

Wenn ich zurück wechsle, wird doch wieder Variable grün gesetzt.
Offensichtlich klappt da noch was nicht ;-(

Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)
Schnetty ist offline   Mit Zitat antworten
Alt 24-10-2003, 11:59   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wird die Variable nicht mit gelöscht wenn der Film, in der sie steht entladen wird?
Eigentlich schon: entladen heisst aber ein loadMovie auf demselben Level oder ein unloadMovie oder eine delete MC. In deinem Script sehe ich davon nichts, also ist davon auszugehen, dass die Variable sich nur ändert, wenn sie einen neuen Wert bekommt. Setz doch sicherheitshalber auf die Frames deiner Bildpositionen green, blue etc eine Variablenneuzuweisung...
  Mit Zitat antworten
Alt 24-10-2003, 12:29   #5 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
Wenn ich in der Navigation der Content-Files auf einen Button drücke, dann wird selbstverständlich auch der vorherige Film entladen (unloadMovie)

D.h. die Variable müsste dann ja auch gelöscht sein oder?
Kann man denn Sicherheitshalber eine Variable löschen, mit delete oder so?

Das mit der Variablen Neuzuweisung hab ich glaub ich net verstanden. Kannste das mal näher erläutern?

Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)
Schnetty ist offline   Mit Zitat antworten
Alt 24-10-2003, 23:42   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Leben einer Variable:
Deklaration: var x;//lokale Variable
Definition: x = 1;
Deklaration+Definition: var x=1;
Neuzuweisung: x=2;
Löschen: delete x;//evtl auch x=0;

Das ganze kann natürlich noch um die vorangestellten Pfadangaben ergänzt werden.
  Mit Zitat antworten
Alt 25-10-2003, 13:45   #7 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
Hmm,

wenn ich versuche die Variable so zu deklarieren, dann bekomme ich vom Debugger folgende Message:

var _level0.green = true;

Debugger:
Scene 1, Ebene actions, Bild 1, Zeile 1 ;' erwartet

Na ich hab doch ein Semikolon geschrieben. wieso nörgelt der Debugger dann rum?

kann ich einer Variablen nicht nen Pfad voranstellen?
wenn ich das _level0 weg nehme nörgelt er nicht, aber es funzt dann auch nicht. Beim ersten Aufruf wird der Cursor grün, beim Contentwechsel auf blau wird er blau aber beim zurückwechseln auf grün bleibt er immer noch blau.

Hab mal auf den Blau Button mal "delete _level0.green " gesetzt.
Beim klicken müsste doch nun die Variable gelöscht werden oder?


Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)
Schnetty ist offline   Mit Zitat antworten
Alt 25-10-2003, 15:36   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
"var" heißt wie oben beschrieben lokal, _level0 davor wäre aber nicht mehr lokal, weil es auf den globalen Level zeigt. Lass das var in diesem Falle weg.

Mit delete _level0.green sollte die Variable gelöscht werden...
  Mit Zitat antworten
Alt 25-10-2003, 18:59   #9 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
na das check ich mal an.
Wenn das auch nich funzt, dann versuch ich das mal abgespeckt in eine Beispieldatei zu basteln. Vielleicht mach ich ja irgendwo noch watt kehrtverum ;-)

Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)
Schnetty ist offline   Mit Zitat antworten
Alt 25-10-2003, 20:59   #10 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
So wie´s aussieht muss ich mir meine Bastelei nochmal ansehen.
Hab das ganze in ein abgespecktes Beispiel File gebaut und das Ding funzt vorherragend. In der Site selber funzt nur jeweils einmal der ganze Farbwechsel und wenn alles durch ist und ich die anderen Menüpunkte nochmal aufrufen will, bleibt der Cursor bei der zuletzt gewählten Farbe stehen und das wars dann.

Auweia, bin ma gespannt wo ich da den fetten Bug sitzen hab.
Das heißt dann wohl morgen ersma Kammerjäger spielen ;-)


Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)
Schnetty ist offline   Mit Zitat antworten
Alt 29-08-2006, 03:06   #11 (permalink)
Banned
 
Registriert seit: Jul 2006
Beiträge: 23
Hallo^^ Es wäre super von dir wenn du mir das script zeigen könntest mit dem du den cursor in level 4 lädst !!!

Ich suche das schon total lange und ich komme nciht weiter

Danke im vorraus für deine mühe !!!

Gruß Atticus^^
Atticus ist offline   Mit Zitat antworten
Alt 29-08-2006, 03:38   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wozu 4 Level?? Einer reicht mit seinen über eine Million Tiefen doch locker aus...
  Mit Zitat antworten
Alt 29-08-2006, 07:09   #13 (permalink)
:-D
 
Benutzerbild von Schnetty
 
Registriert seit: Aug 2001
Beiträge: 209
Wow, da hat mal jemand nen Steinalten Fred ausgegraben. Ich hätte damals aber auch mal nen Ton sagen können - fettes sorry. Das Thema hat sich damals doch noch zum guten gewendet. Den Fehler hatte ich dann noch gefunden - frag mich jetzt nur nicht woran das gelegen hat. Ist ja schon gut 2 Jahre her. Das Projekt ist in der zwischenzeit schon gestorben und vom Netz.

Greets
Schnetty
__________________
Chaos ist nur eine komplexere Form von Ordnung ;-)
Schnetty 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 10:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele