Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-04-2005, 14:55   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Köln
Beiträge: 56
duplicateMovieClip als onClipEvent

Hallo,

ich habe jetzt ein wenig zu dem Thema gelesen doch irgendwie keine Lösung gefunden. Bin nun mal leider keine Programmierer und werde es wohl auch nie. Ich würde gerne mehrere externe swf in einen MC laden. Wenn der alte Film den neuen ersetzt sieht das derzeit nicht besonders edel aus. Als Lösung kommt wohl duplicateMovieClip in Frage. Doch wie benutze ich den Befehl um den gewünschten Effekt zu erreichen. Sprich, wenn ich einen neuen Film in MC lade das der aktuelle nach hinten rutscht und so weiter.

Danke,
Michael
Origami San ist offline   Mit Zitat antworten
Alt 21-04-2005, 16:41   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Du erstellst einfach einen neuen mc und in diesen lädtst Du dann die neue swf.

Aber besser währe doch wenn Du Dir 2 mc's erstellst, in die Du immer abwechselnd die swf's lädtst.
Dann kannst Du die alte langsam ausblenden und die neue einblenden.
Damit Deine neue immer oben ist tauscht Du dann noch die Tiefen und gut ist.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 24-04-2005, 11:29   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Köln
Beiträge: 56
Zitat:
Zitat von rendner[i]
Du erstellst einfach einen neuen mc und in diesen lädtst Du dann die neue swf.

Aber besser währe doch wenn Du Dir 2 mc's erstellst, in die Du immer abwechselnd die swf's lädtst.
Dann kannst Du die alte langsam ausblenden und die neue einblenden.
Damit Deine neue immer oben ist tauscht Du dann noch die Tiefen und gut ist.
Hm.... Könnte das jemand mal als konkretes Beispiel zeigen? Ich habe jetzt zwei Clips mit Instanznamen erstellt. Doch mit welchen Befehl übergebe ich den alten Film in den anderen MC wenn der neue reingeladen wird? Mit swapdepths geht das ja nicht, oder?

Ah.... Ich hasse AS, alles unlogisch! ;-)
Origami San ist offline   Mit Zitat antworten
Alt 24-04-2005, 17:16   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Hab hier noch ein altes Beispiel, da kannste das mal angucken, falls etwas unklar ist kannste ruhig fragen.
Angehängte Dateien
Dateityp: rar load_movie-MX.rar (24,2 KB, 17x aufgerufen)
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 24-04-2005, 20:18   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Köln
Beiträge: 56
Zitat:
Zitat von rendner[i]
Hab hier noch ein altes Beispiel, da kannste das mal angucken, falls etwas unklar ist kannste ruhig fragen.
Das hat mir schon weiter geholfen. Zumindest wird schon ein MC erzeugt und der erste Film rein geladen. Leider kann ich keine anderen Filme laden. Die Buttons (Intstanznamen wurden vergeben!) lösen keine Aktion aus.

Habe mal deinen Code mit den veränderten Pfaden angehängt. Die Buttons liegen im MC print2. Also die Hierarchie sieht so aus. Hauptzeitleiste>print2>print3. In print3 werden die MC erzeugt.
Ich vermute mal da habe ich etwas bei der Pfad anpassung übersehen.
Die Fading Funktion benötige ich übrigens nicht da ich mit Masken in den Zielmovies arbeite. Erwähne das nur da es vielleicht den Code etwas verkleinert. Performance kann man ja nicht genug einsparen. Aber erstmal vielen Dank für die schon geleistete Hilfe.

ActionScript:
  1. var but = 3;
  2. // damit ich weis, in welchen mc das neue Bild geladen
  3. // werden muss
  4. var aktprint3 = 1;
  5. // die 2 neuen mc's (die die Bilder laden) werden erstellt im loader
  6. _root.print2.print3.createEmptyMovieClip("pic1", 1);
  7. _root.print2.print3.createEmptyMovieClip("pic2", 2);
  8. // es wird schon 1 Bild vorgeladen
  9. loadMovie("works/ambientmonsters.swf", "_root.print2.print3.pic1");
  10. // Function die das faden bewerkstelligt
  11. // oldMC = der der weg soll, newMC = der der neu kommt, a = wie schnell faden
  12. function fadePicIn_Out(newMC, a) {
  13.     if (aktprint3 == 1) {
  14.         var b = "pic1";
  15.         var c = "pic2";
  16.         aktprint3 = 2;
  17.         _root.print2.print3[b].swapDepths(3);
  18.         _root.print2.print3[c].swapDepths(4);
  19.     } else {
  20.         var b = "pic2";
  21.         var c = "pic1";
  22.         aktprint3 = 1;
  23.         _root.print2.print3[b].swapDepths(3);
  24.         _root.print2.print3[c].swapDepths(4);
  25.     }
  26.     loadMovie(newMC, "print3."+c);
  27.     _root.print2.print3[c]._alpha = 0;
  28.     _root.print2.print3.onEnterFrame = function() {
  29.         _root.print2.print3[c]._alpha += a;
  30.         if (_root.print2.print3[c]._alpha>99) {
  31.             unloadMovie(_root.print2.print3[b]);
  32.             delete this.onEnterFrame;
  33.         }
  34.     };
  35. }
  36. _root.print2.print3.btn1.onRelease = function() {
  37.     if (but != 1) {
  38.         // fragt ob but nicht 1 ist
  39.     }
  40.     fadePicIn_Out("works/ambientmonsters.swf", 5);
  41.     but = 1;
  42. };
  43. _root.print2.print3.btn2.onRelease = function() {
  44.     if (but != 2) {
  45.         fadePicIn_Out("works/retokyo2004.swf", 5);
  46.         but = 2;
  47.     }
  48. };
  49. _root.print2.print3.btn3.onRelease = function() {
  50.     if (but != 3) {
  51.         fadePicIn_Out("clubbizzare.swf", 5);
  52.         but = 3;
  53.     }
  54. };
Origami San ist offline   Mit Zitat antworten
Alt 24-04-2005, 20:33   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
PHP-Code:
function fadePicIn_Out(newMCa) {
        if (
aktprint3 == 1) {
                var 
"pic1";
                var 
"pic2";
                
aktprint3 2;
                
_root.print2.print3[b].swapDepths(3);
                
_root.print2.print3[c].swapDepths(4);
        } else {
                var 
"pic2";
                var 
"pic1";
                
aktprint3 1;
                
_root.print2.print3[b].swapDepths(3);
                
_root.print2.print3[c].swapDepths(4);
        }
        
loadMovie(newMC"_root.print2.print3."+c);
        
_root.print2.print3.onEnterFrame = function() {
            var 
_root.print2.print3[c].getBytesLoaded();
            var 
_root.print2.print3[c].getBytesTotal();
            var 
per l;
                if ( 
per >= ) {
                        
unloadMovie(_root.print2.print3[b]);
                        
delete this.onEnterFrame;
                }
        };

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 24-04-2005, 21:24   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Köln
Beiträge: 56
Jetzt kommt folgendes:

**Error** Symbol=print2, layer=action, frame=15:Line 13: Syntax error.
********function fadePicIn_Out(newMC, a) {

**Error** Symbol=print2, layer=action, frame=15:Line 14: Syntax error.
********if (aktprint3 == 1) {

**Error** Symbol=print2, layer=action, frame=15:Line 15: Syntax error.
****************var b = "pic1";

**Error** Symbol=print2, layer=action, frame=15:Line 16: Syntax error.
****************var c = "pic2";

Total ActionScript Errors: 4 Reported Errors: 4

Verstehe aber nicht weshalb? Aber vielleicht ist es auch langsam spät.
Origami San ist offline   Mit Zitat antworten
Alt 25-04-2005, 19:29   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Köln
Beiträge: 56
Kommt Leute, lasst mich nicht hängen. Jemand erkannt weshalb das Script nicht mehr läuft. War auch brav!
Origami San ist offline   Mit Zitat antworten
Alt 26-04-2005, 07:08   #9 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Kannste nicht mal die fla hochschieben, die Funktion hat keinen Syntaxfehler.
Eigentlich liegt ja in Deiner umgeschriebenen Funktion nur hier der Fehler :
loadMovie(newMC, "print3."+c);
Du musst schon den Pfad zu print3 richtig angeben.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 26-04-2005, 12:39   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Köln
Beiträge: 56
Thumbs up

Zitat:
Zitat von rendner[i]
Kannste nicht mal die fla hochschieben, die Funktion hat keinen Syntaxfehler.
Eigentlich liegt ja in Deiner umgeschriebenen Funktion nur hier der Fehler :
loadMovie(newMC, "print3."+c);
Du musst schon den Pfad zu print3 richtig angeben.
Scheint ein Bug in Flash zu sein. Als ich das Programm eben gestartet habe war die Fehlermeldung nicht mehr da. Funktioniert alles wunderbar. Danke für deine Geduld und Hilfe!
Origami San 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 04:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele