Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-10-2005, 19:48   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 29
Menue|Fenster problem

Hallo!
Ich hab folgendes Problem! Ich habe 16 Buttons, jeder dieser Buttons hat seinen Instanznamen, but1, but2, but3,.....!
Nun soll beim klick eines Buttons ein Movie Clip (Fenster, das sich im Alpha 0% befindet) abgespielt und im letzten Frame gestoppt werden, das gelingt mir für einen Button mit diesem Script auf dem Button!

ActionScript:
  1. this.but1.onRelease = function() {
  2.     zustand = !zustand;
  3.     this.onEnterFrame = function() {
  4.         zustand ? _root.fenster1.nextFrame() : _root.fenster1.prevFrame();
  5.         if (_root.fenster1._currentframe == 1 || _root.fenster1._currentframe == _root.fenster1._totalframes) {
  6.             delete this.onEnterFrame;
  7.         }
  8.     };
  9. };

So, da ich ja 16 Buttons/Links habe hat natürlich jeder einen anderen Inhalt vorzuweisen, das heißt es gibt auch 16 Movie Clips mit verschiedenem Inhalt von 1-16 und jeder buttons öffnet seinen passenden mc!

Nehmen wir nun mal an es wird auf button 2 geklickt, der mc wird abgespielt und somit das fenster geöffnet, bei klick auf selben button fährt der mc wieder in den ersten frame zurück und stoppt!

Mein Problem ist nun, das nicht nur bei klick auf selben button das fenster zurück fahren soll, sondern wenn ich z. B. button8 drücke erst das im Moment offene Fenster wieder in den ersten Frame fährt und sich anschließend dann das entsprechene Fenster zu button 8 öffnet!

Kann mir bitte jemand weiterhelfen?
dj_mk ist offline   Mit Zitat antworten
Alt 27-10-2005, 20:33   #2 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
ActionScript:
  1. //unter root:
  2. function openWindow(mcWindow:MovieClip) {
  3.  delete mcWindow.onEnterFrame;
  4.  mcWindow.onEnterFrame=function() {
  5.    this.nextFrame();
  6.    if(this._currentframe==this._totalframes) delete this.onEnterFrame;
  7.  }
  8. }
  9.  
  10. function closeWindow(mcWindow:MovieClip,funcOnClose:Function) {
  11.   delete mcWindow.onEnterFrame;
  12.   mcWindow.onEnterFrame=function() {
  13.    this.prevFrame();
  14.    if(this._currentframe==1) {
  15.     delete this.onEnterFrame;
  16.     funcOnClose();
  17.   }
  18.  }
  19. }
  20.  
  21. function getOpenWindow():MovieClip {
  22.  for(var nI=1;nI<17;nI++)
  23.   if(_root["fenster"+nI]._currentframe!=1)
  24.    return _root["fenster"+nI];
  25.  return null;
  26. }
  27.  
  28.  
  29. ///////////// diesen code wo du willst plazieren:
  30.  
  31. this.but1.onRelease = function() {
  32.   var mcOpenWindow=_root.getOpenWindow();
  33.   zustand = !zustand;
  34.   if(mcOpenWindow) {
  35.     _root.closeWindow(mcOpenWindow,function() {_root.openWindow(mcOpenWindow); } );
  36.   } else _root.openWindow(_root.fenster1);
  37. };

ungetestet, aber müsste funzen.

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 28-10-2005, 06:12   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 29
woa! Danke, find ich klasse!
Werds später gleich mal testen, danke!
dj_mk 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 21:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele