Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-01-2008, 16:54   #1 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
Verzweigungen

Hallo liebe Freunde,
ich habe gerade mal ein Problem mit Verzweigungen.

Der Hintergrund ist folgendes: Ich habe eine Bildergalerie, die dynamisch mehrere Galerien bzw Bilder lädt.
Galerien + Bilder liegen in Arrays, die Bilder klarerweise in einem zweidimensionalen. Ich habe 4 Buttons, 2 zum Hin-und Herschalten zwischen den Bildern einer Galerie und 2 zum Hin- und Herschalten zwischen den Galerien.

Da ich eine Thumbnailansicht habe, die das Fenster überdeckt, möchte ich dass die Buttons alle inaktiv sind, wenn die Ansicht geladen ist. Dies löse ich durch eine Funktion, die alle Buttons durchläuft. Wenn die Thumbnailansicht beendet wird, sollen alle wieder aktiv werden.

Dies wäre ja alles kein Problem, nur wenn sich die Galerie nun zum Beispiel am Anfang einer Galerie befindet, sind alle Buttons aktiv, obwohl eigentlich der "Letztes Bild"-Button inaktiv sein sollte, da es ja keins mehr davor gibt.

Ich hatte es bisher so gelöst:

ActionScript:
  1. function controls_klickbar() {
  2.  
  3.     if (pic_nummer == (anzbilder[pic_galerie]-1)) {
  4.         controls_mc.save_mc.enabled = true;
  5.         controls_mc.backward_mc.enabled = true;
  6.         controls_mc.previous_mc.enabled = true;
  7.         controls_mc.forward_mc.enabled = true;
  8.         controls_mc.play_mc.enabled = true;
  9.         controls_mc.stop_mc.enabled = true;
  10.     }
  11.     else if (pic_nummer == 0) {
  12.         controls_mc.save_mc.enabled = true;
  13.         controls_mc.backward_mc.enabled = true;
  14.         controls_mc.next_mc.enabled = true;
  15.         controls_mc.forward_mc.enabled = true;
  16.         controls_mc.play_mc.enabled = true;
  17.         controls_mc.stop_mc.enabled = true;
  18.     }
  19.     else if (pic_galerie == 0) {
  20.         controls_mc.save_mc.enabled = true;
  21.         controls_mc.previous_mc.enabled = true;
  22.         controls_mc.next_mc.enabled = true;
  23.         controls_mc.forward_mc.enabled = true;
  24.         controls_mc.play_mc.enabled = true;
  25.         controls_mc.stop_mc.enabled = true;
  26.     }
  27.     else if (pic_galerie == anzgalerien-1) {
  28.         controls_mc.save_mc.enabled = true;
  29.         controls_mc.previous_mc.enabled = true;
  30.         controls_mc.next_mc.enabled = true;
  31.         controls_mc.forward_mc.enabled = true;
  32.         controls_mc.play_mc.enabled = true;
  33.         controls_mc.stop_mc.enabled = true;
  34.     }
  35.     else {
  36.         for(var i:Number = 0; i<control_buttons_woindex.length;i++) {
  37.             klickbar(controls_mc[control_buttons_woindex[i]]);
  38.         }
  39.     }
  40.    
  41. }

Was ist jetzt aber, wenn ich mich auf dem ersten Bild der ersten Galerie befinde? Dann werden die else-if Anweisungen ausgeführt, die im 2ten Block stehen. Wenn ich aus den else ifs nur ifs mache, werden 2 nacheinander ausgeführt und die Anweisungen des letzten Blocks bleiben dann, was auch nicht Sinn der Sache ist, da dann ja der "Letztes-Bild"-Button wieder aktiv ist.

Wie kann man dieses Problem lösen/umgehen?

Hoffe ihr versteht, was ich meine.

Grüße und Danke!
Jan
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 23-01-2008, 16:59   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Du kannst auch ganz einfach alle Buttons auf einmal deaktivieren.

Alle deaktivieren:
PHP-Code:
controls_mc.onRollOver null;
controls_mc.useHandCursor false
Alle aktivieren:
PHP-Code:
delete controls_mc.onRollOver
gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 23-01-2008, 17:04   #3 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
ist gut zu wissen, aber leider keine antwort auf meine Frage Ich möchte das oben genannte Event, dass man sich im ersten/letzten Bild der ersten/letzten Galerie befindet. Und dann kann ich leider nicht alle Buttons aktivieren, da ja manche nicht enabled sein sollen.
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 23-01-2008, 18:21   #4 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
Okay habe das ganze jetzt folgendermaßen gelöst:

ActionScript:
  1. function controls_klickbar() {
  2.  
  3.         controls_mc.save_mc.enabled = true;
  4.         if (pic_galerie == 0) {
  5.         unklickbar(controls_mc.backward_mc);
  6.         } else { klickbar(controls_mc.backward_mc); }
  7.         if (pic_nummer == 0) {
  8.         unklickbar(controls_mc.previous_mc);
  9.         } else { klickbar(controls_mc.previous_mc); }
  10.         if (pic_nummer == anzbilder[pic_galerie]-1) {
  11.         unklickbar(controls_mc.next_mc);
  12.         } else { klickbar(controls_mc.next_mc); }
  13.         if (pic_galerie == anzgalerien-1) {
  14.         unklickbar(controls_mc.forward_mc);
  15.         } else { klickbar(controls_mc.forward_mc); }
  16.         controls_mc.play_mc.enabled = true;
  17.         controls_mc.stop_mc.enabled = true;
  18.    
  19. }

Geht irgendwie nicht eleganter...

Grüße Jan
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus 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 14:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele