• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-02-2004, 23:13   #1 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
[STUFF]Inhalte / Movieclips erst ausblenden und dann erst den nächsten einblenden

Sicher auch schon dagewesen und exzellent beantwortet aber aufgrund
einer aktuellen Frage hier ein Beispiel, mit dem vielleicht der eine oder andere
etwas anfangen kann.

Auf vielen Seiten sieht man einen Übergang von einer Inhaltsrubrik zur
anderen, in dem erst der eine Inhalt ausgeblendet wird bevor der zweite
einblendet. Machbar ist das auf vielen Wegen - hier einmal ein Beispiel, wie
das Aus- und Einblenden mittels einer AS-Funktion geschieht.

Wir brauchen dafür
- Buttons für das Wechseln der Rubriken mit jeweils einem
Instanznamen, hier "button1" und "button2"
- Movieclips in denen jeweils alle Inhalte einer Rubrik liegen. Auch diese
bekommen einen Instanznamen, hier "in1" und "in2"

Buttons und Inhaltsmovieclips liegen auf derselben Zeitleiste.
Im selben Frame dieser Zeitleiste liegt nun folgendes Script:

PHP-Code:
//inhaltsmovieclips transparent setzen
this.in1._alpha 0;
this.in2._alpha 0;
//aktionen für die Buttons
button1.onPress = function() {
    
//Name des einzufadenden Movieclips in die 
    //Variable _root.einzufaden schreiben
    
einzufaden "in1";
    
//fadefunktion aufrufen mit den Angaben für deren Parameter ein/aus
    
fade(einzufadenauszufaden);
};
button2.onPress = function() {
    
einzufaden "in2";
    
fade(einzufadenauszufaden);
};
//Fadefunktion
fade = function (einaus) {
    
// Sicherstellen, dass bei nochmaligem Klick auf denselben
    // Button nicht der aktuelle Clip aus- und wieder eingefadet wird
    
if (ein != aus) {
        
// onEnterFrame-Event erstellen
        
this.onEnterFrame = function() {
            
// ausblenden
            
this[aus]._alpha -= 10;
            
// wenn ausgeblendet
            
if (this[aus]._alpha<=0) {
                
// nächstes Mal muß der nun eingeblendete augeblendet
                // werden deshalb kommt dessen Name in die Variable
                
this.auszufaden ein;
                
// onEnterFrame-Event überschreiben
                
this.onEnterFrame = function() {
                    
// einblenden
                    
this[ein]._alpha += 10;
                    
// wenn eingeblendet
                    
if (this[ein]._alpha>=100) {
                        
// onEnterFrame-Event löschen
                        
delete this.onEnterFrame;
                    }
                };
            }
        };
    }
}; 
Anzuschauen unter
http://www.shockfusion.de/ff/fade

Download unter
http://www.shockfusion.de/ff/fade/fade.zip

Das Beispiel läßt sich beliebig umarbeiten, so dass z.B. ein Inhalt nach
rechts rausfährt und der nächste von links rein. Das ist aber dann eure
eigene Aufgabe denn das Prinzip ist dasselbe.

Viel Spaß damit
Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (12-06-2004 um 22:36 Uhr)
rena ist offline   Mit Zitat antworten
Alt 11-02-2004, 18:29   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.594
....und wer braucht so'n Sch***???






























Cool rena! Grad einen Kandidaten drauf verwiesen...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 11-02-2004, 21:37   #3 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
*g*
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 11-02-2004, 22:25   #4 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Für Einsteidende sicher gut
johanness ist offline   Mit Zitat antworten
Alt 11-02-2004, 22:45   #5 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Genau dafür ist's gedacht.

Für "Heavy-Stuff" sorgen ja die üblichen Stuffposter. Dank an jene an dieser Stelle.

Grüße
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 13-04-2005, 17:58   #6 (permalink)
Neuer User
 
Benutzerbild von Zuckerwasser
 
Registriert seit: Apr 2005
Beiträge: 41
Schon lange her der Thread...

Hallo.

Ich habe mir deine Beispieldatei mal heruntergeladen und an mein Problem angepasst.

Leider funtkioniert es nicht so, wie ich möchte.
Und da ich mit arrays arbeite, weiß ich nicht, ob ich alles richtig gemacht habe.
Vielleicht könntest du, oder jemand anders mal auf das AS schauen und mir schreiben, was ich verändern müsste.

Vielen Dank.

EDIT: Anhang gelöscht, da eh nicht ging.

Geändert von Zuckerwasser (14-04-2005 um 00:37 Uhr)
Zuckerwasser ist offline   Mit Zitat antworten
Alt 13-04-2005, 20:34   #7 (permalink)
Neuer User
 
Benutzerbild von Zuckerwasser
 
Registriert seit: Apr 2005
Beiträge: 41
Ich wollte es so machen, dass die 9 MCs am Anfang alle nicht auf der Bühne zu sehen sind. Und wenn man dann einen Schalter klickt, wird der jeweilige MC eingeblendet.
Bloß mein AS macht mir das nicht so. Könnt ihr mir vielleicht helfen?
Wäre dankbar.
__________________
..:: Niemand lebt ohne Mängel, wir sind Menschen, keine Engel. ::..
Zuckerwasser ist offline   Mit Zitat antworten
Alt 13-04-2005, 21:46   #8 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Ich kann leider nicht, da ich kein MX 2004 hab und demzufolge deine Datei nicht öffnen kann, sorry.
Eventuell findet sich ja noch jemand, der nicht so hinterher hinkt wie ich.

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 14-04-2005, 00:36   #9 (permalink)
Neuer User
 
Benutzerbild von Zuckerwasser
 
Registriert seit: Apr 2005
Beiträge: 41
Ui, das ist schade.

Aber glücklicherweise habe ich das Problem selbst lösen können. Wie gut die Hilfe manchmal doch sein kann. *g*

Danke trotzdem.
__________________
..:: Niemand lebt ohne Mängel, wir sind Menschen, keine Engel. ::..
Zuckerwasser ist offline   Mit Zitat antworten
Alt 14-04-2005, 09:31   #10 (permalink)
Neuer User
 
Benutzerbild von Zuckerwasser
 
Registriert seit: Apr 2005
Beiträge: 41
Hmmm...

Ich nochmal...
Also ich bekomme ein faden mit dem Alphawert hin. Nun habe ich versucht, es mit der x-Koordinate und dem Alphawert hinzubekommen. Aber das geht nicht.
Ich scheitere schon allein bei der X-Koordinate.
Kann mir jmd. weiterhelfen?

Ich poste mal mein AS:

ActionScript:
  1. //Array erstellen
  2. Movies = new Array ("in1","in2","in3","in4","in5","in6","in7","in8","in9");
  3. auszufaden = "1";
  4. Moviesname = "";
  5. for (i=0;i<Movies.length;i++)
  6.     {
  7.         Moviesname = Movies[i]
  8.         this[Moviesname]._x = 405;
  9.     }
  10. //aktionen für die Buttons
  11. bt1.onPress = function() {
  12.     //Name des einzufadenden Movieclips in die
  13.     //Variable _root.einzufaden schreiben
  14.     einzufaden = "in1";
  15.     //fadefunktion aufrufen mit den Angaben für deren Parameter ein/aus
  16.     fade(einzufaden, auszufaden);
  17. };
  18. bt2.onPress = function() {
  19.     einzufaden = "in2";
  20.     fade(einzufaden, auszufaden);
  21. };
  22. bt3.onPress = function() {
  23.     einzufaden = "in3";
  24.     fade(einzufaden, auszufaden);
  25. };
  26. bt4.onPress = function() {
  27.     einzufaden = "in4";
  28.     fade(einzufaden, auszufaden);
  29. };
  30. bt5.onPress = function() {
  31.     einzufaden = "in5";
  32.     fade(einzufaden, auszufaden);
  33. };
  34. bt6.onPress = function() {
  35.     einzufaden = "in6";
  36.     fade(einzufaden, auszufaden);
  37. };
  38. bt7.onPress = function() {
  39.     einzufaden = "in7";
  40.     fade(einzufaden, auszufaden);
  41. };
  42. bt8.onPress = function() {
  43.     einzufaden = "in8";
  44.     fade(einzufaden, auszufaden);
  45. };
  46. bt9.onPress = function() {
  47.     einzufaden = "in9";
  48.     fade(einzufaden, auszufaden);
  49. };
  50. //Fadefunktion
  51. fade = function (ein, aus)
  52. {
  53.     // Sicherstellen, dass bei nochmaligem Klick auf denselben
  54.     // Button nicht der aktuelle Clip aus- und wieder eingefadet wird
  55.     if (ein != aus)
  56.     {
  57.         switch (ein)
  58.         {
  59.             case "in1" : Kx =160; break;
  60.             case "in2" : Kx =140; break;
  61.             case "in3" : Kx =20; break;
  62.             case "in4" : Kx =95; break;
  63.             case "in5" : Kx =80; break;
  64.             case "in6" : Kx =5; break;
  65.             case "in7" : Kx =-95; break;
  66.             case "in8" : Kx =-55; break;
  67.             case "in9" : Kx =-75; break;
  68.             default : break;
  69.         }      
  70.         // onEnterFrame-Event erstellen
  71.         this.onEnterFrame = function()
  72.         {
  73.             this[aus]._x -= 0.1;
  74.             if (this[aus]._x = 405)
  75.             {
  76.                 this.auszufaden = ein;
  77.                 for (i=0;i<Movies.length;i++)
  78.                 {
  79.                     // onEnterFrame-Event überschreiben
  80.                     this.onEnterFrame = function()
  81.                     {
  82.                         this[ein]._x += 0.1;
  83.                         // wenn eingeblendet
  84.                         if (this[ein]._x = Kx)
  85.                         {
  86.                             // onEnterFrame-Event löschen
  87.                             delete this.onEnterFrame;
  88.                         }
  89.                     }
  90.                 }
  91.                
  92.             }
  93.         };
  94.     }
  95. };


Vielen Dank.
__________________
..:: Niemand lebt ohne Mängel, wir sind Menschen, keine Engel. ::..

Geändert von Zuckerwasser (14-04-2005 um 09:35 Uhr)
Zuckerwasser ist offline   Mit Zitat antworten
Alt 14-04-2005, 13:03   #11 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Erstelle doch die Funktionen für Deine Buttons mit in der for-Schleife...somit brauchst nicht alles per Hand schreiben wenn die eh alle das gleiche machen.
PHP-Code:
var Movies = new Array ( "in1","in2","in3","in4","in5","in6","in7","in8","in9" );
var 
auszufaden "1";
var 
Moviesname "";    
for (var 
0Movies.lengthi++)
{
        
Moviesname Movies];
        
thisMoviesname ]._x 405;
        
_root"bt" + ( ) ].1;        
        
_root"bt" + ( ) ].onRelease = function()
        {    
            
einzufaden "in" this.i;    
            
fadeeinzufadenauszufaden);    
        }

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 15-03-2006, 16:51   #12 (permalink)
Schwarzkopf
 
Benutzerbild von blEkk
 
Registriert seit: Nov 2005
Ort: Norden
Beiträge: 23
Danke! Das hat mir hier schon mal super weitergeholfen.

Also ich hab auch diverse buttons, die dann bei rollover ein kleines infofeld (movieclip) aufpoppen lassen sollen.
Nur soll das infofeld nicht wie im Beispiel dableiben, sondern halt nur solange man mit der maus über dem entsprechenden button ist.
praktisch bei rollout wieder 'ausfaden'...

Ich bin langsam am verzweifeln, kann mir jemand nen hint geben wenns nicht zuviel aufwand ist. Sonst einfach ignorieren.

edit. schon gut ignoriert es, ich hab grade den rollout effekt entdeckt er fadet zwar nicht, sondern knallt unsanft ins bild.. aber eigentlich soll er auch einfach nur das movieclip laden und abspielen..

Geändert von blEkk (15-03-2006 um 17:02 Uhr)
blEkk ist offline   Mit Zitat antworten
Alt 29-03-2006, 22:09   #13 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 14
Kann man den mc1 auch dazu bringen, am Anfang gleich da zu sein? Also sofort sichtbar?

Mfg

SirSimon
SirSimon ist offline   Mit Zitat antworten
Alt 04-04-2006, 00:03   #14 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Ihn einfach nicht zu Beginn transparent setzen?
PHP-Code:
//Auszug aus obigem Script:
this.in1._alpha 100//oder die Zeile halt weglassen
this.in2._alpha 0
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (04-04-2006 um 00:04 Uhr)
rena ist offline   Mit Zitat antworten
Alt 04-04-2006, 10:03   #15 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 14
Hab ich versucht (ein bisschen was kann ich ), dann ist das Teil zwar sichtbar am Anfang, aber die anderen MCs (die an der selben Stelle sitzen und nur ausgetauscht werden) werden dann nicht sichtbar. Ideen dazu?

Danke!

Mfg

SirSimon
SirSimon 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 05:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele