Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-01-2004, 12:01   #1 (permalink)
media artist
 
Benutzerbild von amadeus
 
Registriert seit: Jul 2001
Beiträge: 181
Steuerung mit globaler Variable

Bitte helft mir ich weiß nicht weiter.

Ich habe folgendes Problem:
Ich habe ein Menü mit unterschiedlichen Buttons.

Ich belege die buttons mit folgendem script (home wird natürlich den verschiedenen buttons angepasst):

on (release) {
_global.fahrt = "home";
with (_root.fahrtmc) {
play();
}
}

Im fahrtmc frage ich dann folgendes im ersten Bild ab:

if (_global.fahrt == "home") {
stop();
} else {
play();
}

Müßte das nicht eigentlich so funktionieren???
amadeus ist offline   Mit Zitat antworten
Alt 06-01-2004, 12:11   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du musst die Überprüfung auf "home" im fahrtMC auf einen onEnterFrame-Event legen, weil das Script sonst nur genau einmal durchwandert wird, nämlich, wenn der MC gezeigt oder attacht wird. Wenn dann der Button noch nicht geklickt wurde, ist _global.fahrt wohl noch nicht gesetzt. Andererseits wird nach Klick das Script des MC gar nicht mehr abgearbeitet...
ActionScript:
  1. _root.onEnterFrame = function(){
  2. if (_global.fahrt == "home") {
  3. //hier evtl mit delete _root.onEnterFrame den event wieder löschen, falls nicht mehr benötigt
  4. stop();
  5. } else {
  6. play();
  7. }
  8. }

Geändert von agedoubleju (06-01-2004 um 12:13 Uhr)
  Mit Zitat antworten
Alt 06-01-2004, 12:58   #3 (permalink)
media artist
 
Benutzerbild von amadeus
 
Registriert seit: Jul 2001
Beiträge: 181
Danke für deine Antwort " agedoubleju"!
Du solltest noch wissen das sich das Menü mit den Buttons in fahrtMC befindet und das ein Druck auf den button ´nur getätigt werden kann während der fahrt mc gestoppt ist. Der fahrtMC bleibt nämlich in der Mitte seiner Zeitleiste mit stop(); stehen und wird mit den buttons wieder angefahren

on (release) {
_global.fahrt = "home";
with (_root.fahrtmc) {
play();
}
}

wenn der fahrtmc am ende ist springt er (logischerweise) wieder zu Bild 1. Dort war dann die Überprüfung:

if (_global.fahrt == "home") {
stop();
} else {
play();
}

So hats nicht funktioniert. Mit deinem Vorschlag hab ichs auch probiert. Der mc bleibt aber auch so nicht stehen sondern spielt in jedem Fall einfach weiter ab (auch falls ich home gecklickt habe) !
amadeus ist offline   Mit Zitat antworten
Alt 06-01-2004, 13:33   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Was bekommst du ausgegeben wenn du
ActionScript:
  1. trace("_global.fahrt="+_global.fahrt)
vor der Überprüfung auf "home" eingibst und das ganze im Fehlersuchemodus startest? Rätseln hilft meist nicht weiter, einfach mal ein paar traces an die wichtigsten Stellen setzen, dann findet man die Bugs auch...
  Mit Zitat antworten
Alt 06-01-2004, 14:29   #5 (permalink)
media artist
 
Benutzerbild von amadeus
 
Registriert seit: Jul 2001
Beiträge: 181
da kommt als Ausgabe nur:

_global.fahrt=
amadeus ist offline   Mit Zitat antworten
Alt 06-01-2004, 21:53   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Deswegen der onEnterFrame-Event. Dein Script überprüft wie gesagt nur einmal den Zustand, wenn der aber gerade nicht bekannt ist, bekommst du nie einen vernünftigen Rückgabewert. Vielleicht solltest du mal einen größeren Teil des Scriptes oder die fla posten...
  Mit Zitat antworten
Alt 07-01-2004, 11:20   #7 (permalink)
media artist
 
Benutzerbild von amadeus
 
Registriert seit: Jul 2001
Beiträge: 181
Also, ich hab mal eine test fla gebaut.

Zwei buttons (erst klicken wenn sie stehen)

der eine setzt die _global.fahrt auf den Wert "home"
der andere setzt die _global.fahrt auf den Wert "spass"

An der stelle wo die folgende Bedingung auftreten sollte hab ich in der fla nur getracet (ohne Erfolg - kein Wert für _global.fahrt):

_root.onEnterFrame = function(){
if (_global.fahrt == "home") {
stop();
} else {
play();
}
}
Angehängte Dateien
Dateityp: zip test.zip (2,8 KB, 3x aufgerufen)
amadeus ist offline   Mit Zitat antworten
Alt 07-01-2004, 12:00   #8 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
variable so initialisieren..
ActionScript:
  1. _global.fahrt = "home";
und nicht so
ActionScript:
  1. _global.fahrt == "home";
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 07-01-2004, 12:09   #9 (permalink)
media artist
 
Benutzerbild von amadeus
 
Registriert seit: Jul 2001
Beiträge: 181
So ein dummer Fehler von mir! Tausend Dank. Ich habs!
amadeus 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:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele