Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-12-2004, 18:50   #1 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
setmask funktioniert nicht ...

Hallo,

habe folgendes Problem:
Erzeuge mir einen leeren MC und lade ein Bild hinein.
Danach hole ich mir einen MC auf die Bühne, der lediglich ein Viereck enthält.
Mit setMask möchte ich das Bild markieren, sodaß nur das Viereck zu sehen ist.
Bin ich zu blöd dazu ?

Hier mein Code:

ActionScript:
  1. var myLevel=1;
  2.  
  3. this.createEmptyMovieClip("mc_Bild",myLevel);
  4. this.mcBild._x=0;
  5. this.mc_Bild._y=0;
  6. this.mc_Bild.loadMovie("images/bild.jpg");
  7. myLevel++;
  8.  
  9. this.attachMovie("mc_Maske1","mc_Maske1",myLevel);
  10. this.mc_Maske1._x=0;
  11. this.mc_Maske1._y=0;
  12. myLevel++;
  13.  
  14. this.mc_Bild.setMask("mc_Maske1");

Hat jemand einen spontanen Tip für mich ?

Gruß

cybermad
__________________
alles wird gut !
cybermad ist offline   Mit Zitat antworten
Alt 12-12-2004, 20:06   #2 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Sorry, kleiner Fehler im Code

ActionScript:
  1. var myLevel=1;
  2.  
  3. this.createEmptyMovieClip("mc_Bild",myLevel);
  4. this.mc_Bild._x=0// und nicht: this.mcBild._x=0;
  5. this.mc_Bild._y=0;
  6. this.mc_Bild.loadMovie("images/bild.jpg");
  7. myLevel++;
  8.  
  9. this.attachMovie("mc_Maske1","mc_Maske1",myLevel);
  10. this.mc_Maske1._x=0;
  11. this.mc_Maske1._y=0;
  12. myLevel++;
  13.  
  14. this.mc_Bild.setMask("mc_Maske1");

daran liegt es aber nicht !
__________________
alles wird gut !
cybermad ist offline   Mit Zitat antworten
Alt 12-12-2004, 21:32   #3 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Hallo,

ich habe selbst eine Lösung gefunden, aber das ganze ergibt für mich keinen Sinn.

ActionScript:
  1. var myLevel=1;
  2.  
  3. createEmptyMovieClip("mc_Bild", myLevel);
  4. myLevel++;
  5. mc_Bild.createEmptyMovieClip("mc_Bild", myLevel);
  6. myLevel++;
  7. mc_Bild.mc_Bild.loadMovie("images/bild.jpg");
  8.  
  9. attachMovie("mc_Maske1","mc_Maske1",myLevel+1);
  10. mc_Maske1._x=0;
  11. mc_Maske1._y=0;
  12. myLevel++;
  13.  
  14.  
  15. mc_Bild.setMask(mc_Maske1);

wie Ihr sehen könnt, habe ich das externe Bild in einen MC innerhalb eines neu erstellten MC geladen.
Nun funktioniert es also - aber warum ?

Da bisher noch niemand so rechtes Interesse für mein Problem hatte, stelle ich die Frage einfach einmal in den Raum.
Vielleicht hat ja jemand eine Erklärung parat.

Gruß

cybermad
__________________
alles wird gut !
cybermad ist offline   Mit Zitat antworten
Alt 12-12-2004, 21:51   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Das liegt bestimmt an dem loadMovie.
Es muss halt erst fertiggeladen sein,
bevor man zuweisen kann.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 12-12-2004, 22:09   #5 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Danke für den Tip !
Habe ich auch im Netz gefunden, aber wenn ich die Maske so setze:

ActionScript:
  1. mc_Bild.onLoad=function(){
  2.    this.setMask(mc_Maske1);
  3. }

dann funktioniert das leider auch nicht !
Hast Du einen Tip, wie ich wirklich sicher sein kann, daß das Bild geladen ist ?
__________________
alles wird gut !
cybermad ist offline   Mit Zitat antworten
Alt 12-12-2004, 22:14   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Das onLoad kannst Du gleich vergessen.
Das erfüllt nicht diesen Zweck als
Rückruffunktion.

Man muss hier etwas basteln.
z.B.
ActionScript:
  1. _root.dummy_mc.onEnterFrame=function(){
  2.    if(_root.mc_Bild._width>0){
  3.      delete _root.dummy_mc.onEnterFrame;
  4.      _root.mc_Bild.setMask(mc_Maske1);
  5.    }
  6.  };
Wenn ich mich nicht verschrieben habe, dann so in der Art.
Ich würde außerdem Bild_mc schreiben, statt mc_Bild.
Wobei das erstmal nicht so wichtig ist.
Man bekommt aber bei Bild_mc die Codehinweise angezeigt.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 12-12-2004, 22:31   #7 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Danke für die Hilfe !
Habe versucht deine Lösung einzubauen.
Funktioniert auch.

Merkwürdig ist, wenn ich ein anderes Bild als "images/bild.jpg" lade, also "images/bild1.jpg", dann funktioniert das ganze bei mir nicht.
Hat wahrscheinlich auch nichts mit dem Code zu tun.

Werde das ganze morgen nochmals in aller Ruhe überdenken

Gruß

cybermad
__________________
alles wird gut !
cybermad ist offline   Mit Zitat antworten
Alt 12-12-2004, 22:55   #8 (permalink)
`magoo`
Gast
 
Beiträge: n/a
du musst auch aufpassen dass:
1. das bild richtig gespeichert sein muss.
2. die maske nix maskieren kann das per as direkt drunter gelegt wird. also musst du es evtl. nochmal in einen mc (der maskiert ist) legen.
  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 06:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele