Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-03-2007, 18:36   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 102
createEmptyMovieClip und loadClip ???

Hallo,
ich habe vor einigen JAhren Flash aus den Augen verloren und haben erst kürzlich wieder angefangen - bin also totaler Anänger. Nachdem ich nun die Suche bemüht habe, aber nicht wirklich schlauer geworden bin, frage ich nun doch einmal nach. Ich spiele gerade mit createEmptyMovieClip und loadClip herum. Ich will zwei mc's erstellen und in diese Bilder hereinladen. Am Ende sollen die mc's (Bilder) dann ineinander übergeblendet werden - letzteres ist allerdings nocht nicht implementiert (bildfade()).
Dazu habe ich nun folgenden code geschrieben:
PHP-Code:
if (bild == || bild == || bild == || bild == 6) {
        
this.createEmptyMovieClip("image_mc1"5);
        var 
image_mcl:MovieClipLoader = new MovieClipLoader();
        
image_mcl.addListener(mclListener);
        
image_mcl.loadClip("images/"+bilder[bild], image_mc1);
        
//bildfade(image_mc2, 0, 100);
        
bild++;
    } else if (
bild == 1){
        
this.createEmptyMovieClip("image_mc2"6);
        var 
image_mcl:MovieClipLoader = new MovieClipLoader();
        
image_mcl.addListener(mclListener);
        
image_mcl.loadClip("images/"+bilder[bild], image_mc2);
        
//bildfade(image_mc2, 0, 100);
        
bild++;
    } 
Nun ja: der code geht solange das Bild die Nummer 0,2,4 etc. des arrays "Bilder" hat. Wenn das Bild allerdings die Nummer "1" hat, also durch die zweite if-Schleife geht, dann passiert nichts! Es wird einfach kein image_mc2 erstellt oder es wird in den möglicherwise erstellten image_mc2 kein Bild geladen.

Kann mir hier jemand helfen, mir raucht gerade echt der Kopf!

Gruß

Björn
Björn L. ist offline   Mit Zitat antworten
Alt 18-03-2007, 19:10   #2 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
hi Björn,

wie sieht denn deine mclListener.onLoadInit - Methode aus? Und wo und wie deklarierst du mclListener?
Skorpion ist offline   Mit Zitat antworten
Alt 18-03-2007, 19:11   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 102
Hallo,
so ich konnte das Problem nun etwas eingrenzen:
Ich habe folgenden Code:
PHP-Code:
if (bild == || bild == || bild == 0) {
        
this.createEmptyMovieClip("image_mc1"5);
        var 
image_mcl:MovieClipLoader = new MovieClipLoader();
        
//image_mcl.addListener(mclListener);//ist noch nicht implementiert
        
image_mcl.loadClip("images/"+bilder[bild], image_mc1);//bilder[i] ist ein array mit drei Elementen - den Namen der Bilder
        
dateiausgabe.text bilder[bild];// gibt mir zu kontrollzwecken in einem Textfeld den Namen des Bildes aus
        //bildfade(image_mc2, 0, 100);// ist nocht nicht implementiert
    

So wie es abgebildet ist läuft das Script. Sollte eigentlich duch kopeiren in einen Frame laufen (array mit Bildanmen vorher definieren!)
Wenn ich jetzt aber aus der if -Klammer den Eintrag "bild == 0" entferne, dann bekomme ich zwar die Statusmeldung welches Bild dran ist, aber es passiert einfach nichts!
Das gleiche passiert auch im ersten Code, immer wenn er in die if-Schleife geht, in der nicht bild == 0 steht, dann geht es nicht.

Ich hoffe jemadn hat ne Idee, denn ich dreh langsam durch...
Björn L. ist offline   Mit Zitat antworten
Alt 18-03-2007, 19:12   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 102
mclListener spielt keine Rolle, es geht auch ohne dieses Objekt. Es würde ohnehin nur ein paar Eigenschaften ändern.
Björn L. ist offline   Mit Zitat antworten
Alt 18-03-2007, 19:23   #5 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
Da ich nicht deinen ganzen Code sehe kann ich nur vermuten: möglicherweise versuchst du das nächste Bild schon zu laden noch bevor das vorangehende komplett geladen wurde?
Das nämlich würde mit deinem Code nicht funktionieren, da du die Variable image_mcl immer wieder neu deklarierst / definierst.
Skorpion ist offline   Mit Zitat antworten
Alt 18-03-2007, 19:30   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 102
Hallo,
das ist der gesammte Code. Zur Zeit hat die if-Abfrage selbst allerdings keinen Sinn, sobald es fehlerfrei läuft, soll die if-Abfrage dann steuern welches Bild in welchen neu gnerierten mc kommt.

PHP-Code:
zeit 3000;
Bilderzahl = new LoadVars();
Bilderzahl.load("filelist.php?directory=images");
Bilderzahl.onLoad = function(erfolg) {
    if (
erfolg) {
        
bilder = new Array();
        
bilder this.datei.split("datei=");
        
bilderzeigen();
        
setInterval(bilderzeigenzeit);
    } else {
        
dateiausgabe.text "kein Server";
    }
};
bilderzeigen = function () {
    if (
bild == undefined || bild == bilder.length) {
        
bild 0;
    }
    var 
mclListener:Object = new Object();
    
mclListener.onLoadInit = function(target_mc:MovieClip) {
        
target_mc._x Stage.width/2-target_mc._width/2;
        
target_mc._y 160;
        var 
w:Number target_mc._width;
        var 
h:Number target_mc._height;
        
target_mc.lineStyle(20x707070);
        
target_mc.moveTo(00);
        
target_mc.lineTo(w0);
        
target_mc.lineTo(wh);
        
target_mc.lineTo(0h);
        
target_mc.lineTo(00);
        
target_mc._alpha 100;
    };
    if (
bild == || bild == || bild == 2) {
        
this.createEmptyMovieClip("image_mc1"5);
        var 
image_mcl:MovieClipLoader = new MovieClipLoader();
        
image_mcl.addListener(mclListener);
        
image_mcl.loadClip("images/"+bilder[bild], image_mc1);
           
dateuasugabe.text bild;// gibt das aktuelle Bild in ein Textfeld aus
    
}
    
bild++;
}; 
So wie es geschrieben ist geht es!
So aber nicht:
PHP-Code:
zeit 3000;
Bilderzahl = new LoadVars();
Bilderzahl.load("filelist.php?directory=images");
Bilderzahl.onLoad = function(erfolg) {
    if (
erfolg) {
        
bilder = new Array();
        
bilder this.datei.split("datei=");
        
bilderzeigen();
        
setInterval(bilderzeigenzeit);
    } else {
        
dateiausgabe.text "kein Server";
    }
};
bilderzeigen = function () {
    if (
bild == undefined || bild == bilder.length) {
        
bild 0;
    }
    var 
mclListener:Object = new Object();
    
mclListener.onLoadInit = function(target_mc:MovieClip) {
        
target_mc._x Stage.width/2-target_mc._width/2;
        
target_mc._y 160;
        var 
w:Number target_mc._width;
        var 
h:Number target_mc._height;
        
target_mc.lineStyle(20x707070);
        
target_mc.moveTo(00);
        
target_mc.lineTo(w0);
        
target_mc.lineTo(wh);
        
target_mc.lineTo(0h);
        
target_mc.lineTo(00);
        
target_mc._alpha 100;
    };
    if (
bild == || bild == 2) {
        
this.createEmptyMovieClip("image_mc1"5);
        var 
image_mcl:MovieClipLoader = new MovieClipLoader();
        
image_mcl.addListener(mclListener);
        
image_mcl.loadClip("images/"+bilder[bild], image_mc1);
           
dateuasugabe.text bild;// gibt das aktuelle Bild in ein Textfeld aus
    
}
    
bild++;
}; 
Unterschied: In der if-Klammer habe ich das "bild == 0" entfernt.
Björn L. 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 01:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele