Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-01-2006, 08:33   #1 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Question Frage zu MovieCliploader -Verständnis

Hallo,

ich benötige ein wenig Hilfe und Erklärung.

Ich verstehe den Code nicht ganz. Vor allem erzeuge ich 3 Objekte und verstehe die Beziehung dazu untereinander nicht. Ich habe mittlerweile die MM -Doku durchforstet, aber mir fehlt auch hier das Verständnis. Vielleicht kann jemand so nett sein und mir die Zeilen mal erklären? Vor allem verstehe ich nicht, in welchem Bezug die Objekte stehen

Code:
// Erzeugen des leeren Containers
_root.createEmptyMovieClip("bild_aufpopp", 1);
// Moviecliploader erzeugen --wo? in welcher Beziehung steht der zum Container?
var mcl:MovieClipLoader = new MovieClipLoader();
// warum schon wieder ein neues Object?
var ml = new Object();
// wieso steht hier als Variable mc und wo ist die Verbindung?
ml.onLoadInit = function(mc:MovieClip) {
    mc._x = 200;
    mc._width = 200;
};
// ok laden...aber wo befindet sich mcl?
mcl.loadClip("fotos/mps_l_bigpack_hoch.jpg", bild_aufpopp);
// hat jemand mal einen guten Link wo listener erklärt werden?
mcl.addListener(ml);
Danke Tom
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::
Wildthinks ist offline   Mit Zitat antworten
Alt 24-01-2006, 08:50   #2 (permalink)
von natur aus sanft
 
Benutzerbild von darwin26
 
Registriert seit: Jan 2002
Ort: Landshut
Beiträge: 1.404
hi,
ich versuchs mal...

PHP-Code:
// Erzeugen des leeren Containers
// Hier wird ein MC erzeugt der sich dann auf _root(Bühne des Dokuments) befindet
// ausserdem erhält dieser erzeugte MC den Instanznamen "bild_aufpopp"
// das Ganze befindet sich dann auf Level 1 auf der _root(Bühne)
_root.createEmptyMovieClip("bild_aufpopp"1);
// Moviecliploader erzeugen --wo? in welcher Beziehung steht der zum Container?
// Hier wird die MovieClipLoader Class aufgerufen...
// Einfach mal F1(FlashHilfe) gedrückt und nach MovieClipLoader suchen ;)
var mcl:MovieClipLoader = new MovieClipLoader();
// warum schon wieder ein neues Object?
var ml = new Object();
// wieso steht hier als Variable mc und wo ist die Verbindung?
// das mc:MovieClip = Typisierung der Instanz MC ...
ml.onLoadInit = function(mc:MovieClip) {
    
mc._x 200;
    
mc._width 200;
};
// ok laden...aber wo befindet sich mcl?
// siehe MovieClipLoader ... mcl ist die var dafür
mcl.loadClip("fotos/mps_l_bigpack_hoch.jpg"bild_aufpopp);
// hat jemand mal einen guten Link wo listener erklärt werden?
// FlashHilfe F1 ;
mcl.addListener(ml); 
grz.chris
__________________
------------------------------------------------
Lieber mal nachfragen als stundenlang doof rumsitzen ;)
Landshuter Hochzeit 1475
------------------------------------------------

Geändert von darwin26 (24-01-2006 um 08:51 Uhr)
darwin26 ist offline   Mit Zitat antworten
Alt 24-01-2006, 09:00   #3 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Ich versuchs auch mal...
PHP-Code:
_root.createEmptyMovieClip("bild_aufpopp"1); 
Das dürfte klar sein...
PHP-Code:
var mcl:MovieClipLoader = new MovieClipLoader(); 
Du erstellst ne Instanz der MovieClipLoader-Klasse. Diese ist ein erweitertes loadMovie, mit diversen Rückgaben WÄHREND des Ladevorgangs, genaueres in der Hilfe! Diese Instanz steht in (noch) keiner Beziehung mit bild_aufpopp.
PHP-Code:
var ml = new Object();
ml.onLoadInit = function(mc:MovieClip) {
    
mc._x 200;
    
mc._width 200;
}; 
Die Definition eines Objektes. Als Funktion wird ein onLoadInit definiert, welches ausgeführt ist, wenn etwas fertig geladen ist (dieses etwas ist noch nicht definiert, ist aber dem Objekt egal). Als Paramter für diese Funktion wird die Variable "mc" vom Typ "MovieClip" übergeben. An Stelle von mc könntest du nehmen, was immer du willst - hauptsache, du passt den Namen innerhalb der Funktion ebenfalls an!
PHP-Code:
mcl.loadClip("fotos/mps_l_bigpack_hoch.jpg"bild_aufpopp); 
Jetzt sagen wir dem MovieClipLoader, dass er das Bild in den MovieClip "bild_aufpopp" (den wir erstellt haben!) laden soll. Hier haben wir die erste Beziehung zwischen dem MovieClipLoader und dem MovieClip
PHP-Code:
mcl.addListener(ml); 
Dann weisen wir dem MovieClipLoader einen Listener hinzu, der die vom Loader gesendeten Information empfängt. Dieser Listener soll unser Objekt sein, welches wir erstellt haben, es wird die Informationen (unter anderem auch den "onLoadInit"!) erhalten und die entsprechenden Funktionen auslösen!
Das heisst, zuerst initierst du MovieClip, MovieClipLoader und (Listener-)Objekt. Danach startest du den Ladevorgang und weist das Objekt als Listener zu. Sobald das Bild fertig geladen ist, sendet der Loader ein "LoadInit" an den Listener, dieser ruft darauf die "onLoadInit" mit dem ebenfalls übergebenen Parameter mc (also in der Ausführung dann eigentlich "bild_aufpopp") auf, welche den fertig geladenen MovieClip auf x-Position 200 verschiebt und auf die Breite von 200 Pixeln setzt.
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 24-01-2006, 10:10   #4 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Talking

Recht vielen Dank.... die 1. Antwort war ganz gut, die 2. hat mir wirklich geholfen.

Danke.
Grüße WT
PS: Gäbe es einen Dankebutton hätte ich den jetzt gedrückt (für beide).
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::
Wildthinks ist offline   Mit Zitat antworten
Alt 24-01-2006, 20:47   #5 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Question

Hi,

meiner einer noch einmal...langsam kommen wir der Sache näher....
Mit diesem Code wollte ich für jeden MC einen eigenen Loader und eigenen Lister erstellen.... Ich sehe aber nur einen Clip...mhhh habe ich nicht jeden Clip einzeln bewegt und in der Größe geändert?

PHP-Code:
function create_single_thumb() {
    var 
img_count:Number=25;
    var 
img_dir:String="images/";
    var 
img_ext:String=".jpg";
    var 
img_pre:String="image";
    var 
thumbs_margin:Number=10;
    var 
thumbs_height:Number=20;
    var 
thumbs_width:Number=20;
    var 
i:Number=0;
    var 
i_max:Number=img_count;
    for (
1<= i_maxi++) {
    
createEmptyMovieClip("s"+ii);
// Variable für Loader
mcl=("mcl"+i);
ml=("ml"+i);
mc=("mc"+i);
var 
mcl:MovieClipLoader = new MovieClipLoader();
var 
ml = new Object ();
ml.onLoadInit = function(mc:MovieClip) {
    
mc._x =mc._x+thumbs_margin+thumbs_width*i;
    
mc._xscale=100*thumbs_width/mc._width
    
mc._yscale=100*thumbs_height/mc._height
};
mcl.loadClip(img_dir+img_pre+i+img_ext, eval("s"+i));
mcl.addListener(ml);  
}

Danke Tom
PS: Kann man das ganze nicht in ein Objekt packen, dass dem man dann nur die Parameter mitgibt....?
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::
Wildthinks ist offline   Mit Zitat antworten
Alt 24-01-2006, 21:32   #6 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
*ui*, das ist ja mal ziemlich in die Hose gegangen! :P *fg*
PHP-Code:
mcl=("mcl"+i);
ml=("ml"+i);
mc=("mc"+i); 
Das hier bringt dir nix! Keine zwei Zeilen weiter unten überschreibst du ja ml und mcl bereits wieder! Ausserdem ist da gar nix dynamisch drin, kein Wunder wird nur ein Bild geladen!
PHP-Code:
function create_single_thumb() {
    var 
img_count:Number=25;
    var 
img_dir:String="images/";
    var 
img_ext:String=".jpg";
    var 
img_pre:String="image";
    var 
thumbs_margin:Number=10;
    var 
thumbs_height:Number=20;
    var 
thumbs_width:Number=20;
    var 
i:Number=0;
    var 
i_max:Number=img_count;
    for (
1<= i_maxi++) {
         
createEmptyMovieClip("s"+ii);
         
this["mcl"+i] = new MovieClipLoader();
         
this["ml"+i] = new Object ();
         
this["ml"+i].onLoadInit = function(mc:MovieClip) {
              
mc._x mc._x+thumbs_margin+thumbs_width*i;
              
mc._xscale 100*thumbs_width/mc._width
              
mc._yscale 100*thumbs_height/mc._height
         };
         
this["mcl"+i].loadClip(img_dir+img_pre+i+img_extthis._parent["s"+i]);
         
this["mcl"+i].addListener(this["ml"+i]);  
    }

Probiers mal so!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 24-01-2006, 21:55   #7 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Smile

Danke...habs verstanden...
Ich kannte this bisher nur in der version this.["mcl"+i] - bei Dir steht aber this["mcl"+i]?
Geht das auch ohne Punkt?

Würde auch das funktionieren: eval("mcl"+i).addListener....?


Danke Tom
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::

Geändert von Wildthinks (24-01-2006 um 21:56 Uhr)
Wildthinks ist offline   Mit Zitat antworten
Alt 24-01-2006, 22:12   #8 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Also... eigentlich funktioniert NUR meine Version, die mit dem . sollte es nicht...
Nein... seit Flash Player 5 oder was, darf eval nur noch auf der rechten Seite einer Zuweisung stehen...
PHP-Code:
eval("s"+i)._visible false;
//funktioniert nicht!

var test = eval("s"+i);
test._visible false;
//funktioniert! 
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 25-01-2006, 05:17   #9 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Thumbs up

Wichtige Anmerkung: Bitte alles AS 1.0
Danke, man lernt halt jeden Tag dazu..., aber leider klappt das so nicht....
Ich bekomme schon mal keine Fehlermeldung.Damit ist ist die Syntax in Ordnung.

PHP-Code:
  this["ml"+i].onLoadInit = function(mc:MovieClip) {
              
mc._x mc._x+thumbs_margin+thumbs_width*i
Müßte der mc hier nicht auch "dynamisch" sein?
PHP-Code:
  this["ml"+i].onLoadInit = function(this["mc"+i]:MovieClip) {
              
this["mc"+i]._x this["mc"+i]._x+thumbs_margin+thumbs_width*i
PHP-Code:
this._parent["s"+i]) 
Ist das ein Verweis nach dem Motto... wir treten aus uns selbst zurück und schauen wo wir sind?

Mhh keine Fehlermeldung Pfad stimmt auch, aber keine Thumbs.... Wo denke ich verkehrt?
Danke Tom
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::

Geändert von Wildthinks (25-01-2006 um 05:53 Uhr)
Wildthinks ist offline   Mit Zitat antworten
Alt 25-01-2006, 07:38   #10 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Nein, müsste er nicht, da es ja kein fester Parameter ist, der aufgerufen wird, sondern Variabel ist!
Beispiel:
PHP-Code:
//Definition:
function tracer(string) {
     
trace(string);
}
//Aufruf:
tracer("blabla"); // -->Ausgabe: blabla
tracer("halleluja"); //-->Ausgabe: halleluja
tracer(7); //-->Ausgabe: 7 
Anstelle von string in der Definition hätte ich auch this["mc"+i] schreiben könne oder was auch immer, allerdings wäre das der Funktion noch immer gleich und würde die entsprechenden Werte übergeben. Bei einer Funktionsdefinition kannst du nur mit Dummys arbeiten, ausser du verwendest Konstanten, aber das ist ein anderes Thema!
Zitat:
Zitat von Wildthinks
Ist das ein Verweis nach dem Motto... wir treten aus uns selbst zurück und schauen wo wir sind?
Ja, so in die Richtung, PLUS wählen dann dort wo wir uns umsehen das Objekt ["s"+i]!

Und was heisst "es funktioniert nicht"? Wird gar nix angezeigt? Nur einer? ...
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 25-01-2006, 09:22   #11 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Leider wird nix angezeigt...
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::
Wildthinks ist offline   Mit Zitat antworten
Alt 25-01-2006, 09:27   #12 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Es könnte sein, dass er die Variabeln ausserhalb nicht sieht/verwendet, da diese nicht auf mcl liegen! mach mal n'oEF mit trace(this) auf die jeweiligen Objekte! Bzw. auf mcl ein trace der Variablen!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 25-01-2006, 11:48   #13 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Question

Hi,

Trace sagt mir was, aber was ist "n'oEF " ?
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::
Wildthinks ist offline   Mit Zitat antworten
Alt 25-01-2006, 12:03   #14 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
onEnterFrame!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 25-01-2006, 20:07   #15 (permalink)
SWiSHer
 
Registriert seit: Dec 2003
Ort: Berlin
Beiträge: 42
Cool

ich denke mit der angehängten Datei oute ich mich als totaler Anfänger...
Ich habe zwar schon AS -Kenntnisse (rudimentär) bin aber nicht so sicher in Flash.

Daher bin ich dankbar für jeden Hinweis...Danke
Tom

PS: Ich nehme an, dass einige Fehler einfach aus der Bedienung resultieren... daher benutze ich in der Regel auch SWiSHmax...aber will Flash lernen.
Angehängte Dateien
Dateityp: zip gallerie_flash.zip (4,9 KB, 10x aufgerufen)
__________________
Your friendly ...
Oft sind wir das, was wir scheinen, selten was wir erträumen.[The last Unicorn]

Größte deutschsprachige SwishCommunity diesseits des Spiralarmnebels...SWiSHZoNe.net
::SWiSH - Flash einfacher::
Wildthinks 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 12:23 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele