Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-05-2006, 14:54   #1 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
Einfache Frage zu globalen Variablen

Hallo zusammen,

ich habe ein Problem, das ich trotz langem Suchen und Ausprobieren nicht lösen konnte, was aber für euch sicherlich kein Problem darstellt.
Und zwar habe ich in meiner ersten Ebene eine Variable mit
PHP-Code:
var duration 
deklariert. Wenn ich nun von dem AS einer anderen Ebene aus auf diese Variable zugreifen will, geht das nicht. Auch wenn ich sie mit
PHP-Code:
_global.duration 
deklariere und dann auch mit
PHP-Code:
_global.duration = ...; 
verändern möchte, tut sich gar nichts. Woran liegt das bzw. wie deklariere ich globale Variablen und greife von einer anderen Ebene aus mit Actionscript auf sie zu?

Viele Grüße,
Fabian
Fabian_A ist offline   Mit Zitat antworten
Alt 31-05-2006, 15:24   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!
duration wird von Flash verwendet (Sound). Nimm mal eine andere Var und guck, ob's dann geht.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-05-2006, 15:38   #3 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
Das ist mir gerade auch aufgefallen. Ich möchte mit der Variable das Intervall meines Timers steuern. Wenn ich den Wert von außerhalb ändere, ändert sich das Intervall nicht, auch wenn ich nicht duration als Variable nehme.
Hat das etwas mit meinem Intervall zu tun, sodass ich dessen Länge nicht von außen ändern könnte?

Danke im Voraus,
Fabian
Fabian_A ist offline   Mit Zitat antworten
Alt 31-05-2006, 17:40   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Die Länge eines Intevalls kannst du nachträglich nicht ändern. Löschen und dann einen neuen Intervall nehmen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-05-2006, 18:41   #5 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
löschen mit clearInterval() ? Da kann ich auch von der anderen Ebene aus nicht drauf zugreifen. Wie schaffe ich das?
Danke,
Fabian

Geändert von Fabian_A (31-05-2006 um 21:14 Uhr)
Fabian_A ist offline   Mit Zitat antworten
Alt 01-06-2006, 00:07   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
PHP-Code:
_level0.intervalID setInterval(...);

//von einer anderen Ebene löschen:
clearInterval(_level0.intervalID); 
  Mit Zitat antworten
Alt 01-06-2006, 09:30   #7 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
Vielen Dank. Wenn ich das Intervall nur anhalten will, bis man den Button wieder drückt, wie realisiere ich das dann? Auch mit clearIntervall und später wieder mit einem neuen setInterval? Oder geht das auch mit einer anderen Funktion, mit der ich das Interval nur stoppen kann und es dann später wieder fortführen?

Viele Grüße,
Fabian
Fabian_A ist offline   Mit Zitat antworten
Alt 01-06-2006, 13:43   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ein gelöschtes Intervall kannst du nicht "fortführen", nur wieder neustarten. Und ein laufendes Intervall kannst du nicht "anhalten", sondern nur löschen.
  Mit Zitat antworten
Alt 01-06-2006, 19:37   #9 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
Okay, danke das funktioniert nun soweit. Wenn ich es aber danach wieder mit dem AS-Code auf dieser Ebene initialisieren will, dann klappt es mit
PHP-Code:
_level0.intervalId setInterval(this"Timer_funktion"Länge); 
nicht. Liegt das daran, dass ich von der anderen Ebene in AS aus nicht auf meine "Timer_funktion" zugreifen kann? Wenn ja, wie muss ich diese dann noch deklarieren bzw. wieder aufrufen, damit das auch noch klappt?

Vielen Dank nochmal,
Fabian
Fabian_A ist offline   Mit Zitat antworten
Alt 01-06-2006, 23:05   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Die Funktion "Timer_funktion" muss entweder im Scope des Intervalls liegen oder einen entsprechenden Objektpfad vorangestellt bekommen.
  Mit Zitat antworten
Alt 02-06-2006, 11:55   #11 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
Als was ist der scope des Intervalls definiert bzw. wo beginnt und endet er?
Wenn ich einen Objektpfad voranstellen will, mache ich das auch mit _level0.Timer_funktion()? Denn so funktioniert es nicht?

Danke noch einmal für Hilfe,
Fabian
Fabian_A ist offline   Mit Zitat antworten
Alt 02-06-2006, 14:03   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Leg einfach die Funktion in dieselbe Ebene wie den Intervall-Aufruf, dann stellen sich solche Fragen erst gar nicht...
  Mit Zitat antworten
Alt 02-06-2006, 14:16   #13 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 80
Ich habe das auf Ebenen getrennt, weil ich auf die eine Ebene, von der aus ich hier das Intervall laden will, nur meine Buttons und andere Steuerelemente lege.
Okay, wenn keiner eine Idee hat, dann bleibt mir wohl nichts anderes übrig als das alles auf eine Ebene zu legen.

Für eine schnelle Antwort, falls sie doch jemand kennt, bin ich sehr dankbar,
Fabian
Fabian_A 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 07:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele