Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-08-2004, 22:07   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 37
Probleme mit createMovieClip MC`s

Hallo zusammen..........

Ich wollte mal versucht einen MovieClip mit "createMovieClip" zu erstellen, und anschliessend ein externes Bild reinzuladen.
Nur hab ich das Problem, das wenn ich diesen MC nacher als Button benutzen möchte, geht das irgendwie nicht................


PHP-Code:
_root.createEmptyMovieClip("bild1_mc",1); 

_root.bild1_mc._x 0
_root.bild1_mc._y 0

var 
my_mcl:MovieClipLoader = new MovieClipLoader(); 
var 
myListener = new Object(); 
     
myListener.onLoadInit = function (grösse) { 
    
grösse._width 400
    
rösse._height 100


my_mcl.addListener(myListener); 
my_mcl.loadClip("bilder/bild1.jpg",bild1_mc); 

_root.bild1_mc._x 100


_root.bild1_mc.onRelease = function(){ 
    
gallery_mc.loadMovie("bilder/bild1.jpg"); 


Alles funktioniert, nur das letzte "_root.bild1_mc.onRelease ........." funzt ned, keine Ahnung warum...............
Flash-Dani ist offline   Mit Zitat antworten
Alt 27-08-2004, 22:09   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
du musst warten, bis das Bild fertig geladen ist, ehe du ihm das release ereigniss zu weist!

grz
pape ist offline   Mit Zitat antworten
Alt 27-08-2004, 22:23   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 37
wenn das Bild in der Vorschau erscheint sollte es doch geladen sein , oder etwa nicht ??

Und "_root.bild1_mc._x = 100;" was kurz vorher kommt, funktioniert ja auch
Flash-Dani ist offline   Mit Zitat antworten
Alt 27-08-2004, 22:39   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Du mußt da wie "pape" schon sagt eine art Loader davor setzen!!
So wie des (onRelease) jetzt steht wird des beim laden des Bild1 überschrieben respt. gelöscht
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 27-08-2004, 22:52   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 37
ähm........sorry, bin totaler Anfänger

Kann mir das einer genauer erklären, oder ein Beispiel machen ??
Wäre echt nett !!

Danke schon mal ............
Flash-Dani ist offline   Mit Zitat antworten
Alt 27-08-2004, 23:09   #6 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
ich kenne mich nicht mit der loader komponente aus mx 2004 aus, weil ich nur Flash MX habe! ...daher kann ich dir nur nen beispiel mit "normalem" preloader geben:
(nicht getested)
ActionScript:
  1. _root.createEmptyMovieClip("bild1_mc",1);
  2.  
  3. _root.bild1_mc.loadMovie("bilder/bild1.jpg"); //bild laden
  4. _root.bild1_mc._x = 0;
  5. _root.bild1_mc._y = 0;
  6. _root.createEmptyMovieClip("watcher",9961); //watcher mc erstellen da nen
  7. //onEnterFrame beim bild1_mc aus besagten gründen nicht gehen würde...
  8. _root.watcher.onEnterFrame = function () {
  9.     if (_root.bild1_mc._width>=1){//wenn die breite des containers größer 1
  10. //ist -> also das bild geladen wurde
  11.         delete this.onEnterFrame;
  12.         _root.bild1_mc.onRelease = function() { //function (hier release ereignis) zuweisen
  13.             gallery_mc.loadMovie("bilder/bild1.jpg");
  14.         }
  15.         this.removeMovieClip();
  16.     }
  17. }

übrigens gilt das für sämtliche aktionen/ereignisse und auch für _width und _height zuweisungen> erst wenn das biuld fertig geladen ist zuweisen!
(_x und _y positionierung geht auch vorher!)

grz
pape
Edit:
komentare im script

Geändert von pape (27-08-2004 um 23:11 Uhr)
pape ist offline   Mit Zitat antworten
Alt 28-08-2004, 16:29   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 37
das klappt bestens, vielen Dank ............
Flash-Dani ist offline   Mit Zitat antworten
Alt 29-08-2004, 02:41   #8 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
hehe.. bitte

wenn du irgendne frage dazu hast stell sie ruhig, dann erkläre ich es gerne auch noch genauer!

grz
pape
pape ist offline   Mit Zitat antworten
Alt 29-08-2004, 09:13   #9 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
ich denke es wäre sinnvoller einfach mit nem container zu arbeiten, das spart den onEnterFrame EventHandler respektive den preloader und somit rechenleistung. dann einfach dem container den onRelease EH zuweisen und gut is.
Edit: code hat kleinen fehler, RK hat mich unten verbessert
ActionScript:
  1. this.createEmptyMovieClip("MCHolder1",1);
  2. this.MCHolder1.onRelease = function() {
  3. trace("SERVUS FF!");
  4. }
  5. this.MCHolder1.createEmptyMovieClip("MCPic1",2);
  6. this.MCHolder1.loadMovie("bilder/bild1.jpg");

mati
__________________
„Ich war geheilt, all right!“

Geändert von mati (30-08-2004 um 07:15 Uhr)
mati ist offline   Mit Zitat antworten
Alt 29-08-2004, 13:04   #10 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
du hast das nicht getestet..oder?~gg
du hast dich etwas vertan..wobei dein gedanke natürlich einleuchtend ist...

hiermit:
ActionScript:
  1. this.MCHolder1.loadMovie("bilder/bild1.jpg");

überschreibst du das:
ActionScript:
  1. this.MCHolder1.onRelease = function() { ...}

es sollte an dieser stelle wohl eher so heißen:
ActionScript:
  1. this.MCHolder1.MCPic1.loadMovie("bilder/bild1.jpg");

grz
pape
Edit:
habs verbessert @ ::RK::

Geändert von pape (29-08-2004 um 13:44 Uhr)
pape ist offline   Mit Zitat antworten
Alt 29-08-2004, 13:22   #11 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
hi,

ich glaube es sollte eher so heißen (sonst macht die Containere Bausweise keinen Sinn )
ActionScript:
  1. this.createEmptyMovieClip("MCHolder1",1);
  2. this.MCHolder1.onRelease = function() {
  3.   trace("SERVUS FF!");
  4. }
  5. this.MCHolder1.createEmptyMovieClip("MCPic1",1); // kann auf Ebene 1 bleiben;
  6. this.MCHolder1.MCPic1.loadMovie("bilder/bild1.jpg"); // hier die Container Bauweise;
  7.  
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs

Geändert von :: RK :: (29-08-2004 um 13:23 Uhr)
:: RK :: ist offline   Mit Zitat antworten
Alt 30-08-2004, 07:14   #12 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
ja richtig, da hab ich den code nich nochmal durchgelesen. aber letztendlich ist ja angekommen, was ich sagen wollte
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 28-01-2005, 13:52   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 37
Hi zusammen

tut mir leid wenn ich dieses alte Thema nochmals aufwüle , aber ich komm einfach nicht weiter.............


ActionScript:
  1. var num = 6;
  2.  
  3. this.createEmptyMovieClip("bildgross_mc",0);
  4. bildgross_mc._y = 80;
  5. bildgross_mc._x = 100;
  6.  
  7. for(var i=1;i<num;i++){
  8.     var bild = this.createEmptyMovieClip("bild"+i+"_mc",i);
  9.     bild._y = i*80;
  10.     bild._x = 0;
  11.     bild._yscale = 20;
  12.     bild._xscale = 20;
  13.     bild.loadMovie("bilder/bild ("+i+").jpg");
  14. }
  15.  
  16.  
  17. onEnterFrame = function(){
  18.         this.bild1_mc.onRelease = function() {
  19.             bildgross_mc.loadMovie("bilder/bild (1).jpg");
  20.         }
  21.         this.bild2_mc.onRelease = function() {
  22.            bildgross_mc.loadMovie("bilder/bild (2).jpg");
  23.         }
  24.         this.bild3_mc.onRelease = function() {
  25.             bildgross_mc.loadMovie("bilder/bild (3).jpg");
  26.         }
  27.         this.bild4_mc.onRelease = function() {
  28.            bildgross_mc.loadMovie("bilder/bild (4).jpg");
  29.         }
  30.         this.bild5_mc.onRelease = function() {
  31.             bildgross_mc.loadMovie("bilder/bild (5).jpg");
  32.         }
  33.         this.bild6_mc.onRelease = function() {
  34.            bildgross_mc.loadMovie("bilder/bild (6).jpg");
  35.         }
  36.  
  37. }

Das funktioniert ja auch alles, aber wenn jetzt z.B 50 Bilder dazukommen, dann muss ich 50 x das hier unter onEnterFrame = function(){ dazuschreiben :

ActionScript:
  1. this.bild"nummer"_mc.onRelease = function() {
  2.             bildgross_mc.loadMovie("bilder/bild (nummer).jpg");
  3.         }

geht das nicht leicher ??

mit dieser Bauweise habe ich es schon probiert, aber irgendwei klappt das bei mehreren Bildern nicht

ActionScript:
  1. this.createEmptyMovieClip("MCHolder1",1);
  2. this.MCHolder1.onRelease = function() {
  3.   trace("SERVUS FF!");
  4. }
  5. this.MCHolder1.createEmptyMovieClip("MCPic1",1); // kann auf Ebene 1 bleiben;
  6. this.MCHolder1.MCPic1.loadMovie("bilder/bild1.jpg"); // hier die Container Bauweise;
  7.  
Flash-Dani ist offline   Mit Zitat antworten
Alt 28-01-2005, 14:23   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!

Ich habe das so zwar auch noch nie gemacht, sollte aber funktionieren:

PHP-Code:
var Anzahl 50;
for (var 
0Anzahli++)
{
this.createEmptyMovieClip("MCHolder"+i,1); 
this["MCHolder"+i].onRelease = function() { 
  
bildgross_mc.loadMovie("bilder/bild"+i+".jpg"); 

this["MCHolder"+i].createEmptyMovieClip("MCPic"+i,1); // kann auf Ebene 1 bleiben; 
this["MCHolder"+i].this["MCPic"+i].loadMovie("bilder/bild"+i+".jpg"); // hier die Container Bauweise;

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-01-2005, 14:53   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 37
funktioniert nicht.........habe den Code mal genau so einfach eingefügt und ausprobiert. AS bringt immer ein Fehlermeldung !
Flash-Dani 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 02:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele