Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-10-2003, 12:41   #1 (permalink)
Untitled User
 
Registriert seit: Dec 2001
Beiträge: 71
duplicateMovieClip und setMask

Grüß euch!

folgendes AS auf einem Button:

ActionScript:
  1. on (press) {
  2.     _root.i += 1;
  3.  
  4.     if (this._name == "menu_vogel") {
  5.         name = "vogel"+_root.i;
  6.         _root.menu_vogel.duplicateMovieClip(name, _root.i + 1);
  7.     }
  8.     // this.swapDepths(++_root.depth);
  9.     startDrag(_root[name], false, 30, 30, 580, 270);
  10. }
  11.  
  12. on (release, releaseOutside) {
  13.     stopDrag()
  14.     _root[name].setMask(_root.MaskMC);
  15.     _root[name].onEnterFrame = function() {
  16.         if (this._x >= -50) {
  17.             this._x -= 2;
  18.         } else {
  19.             this._x = 400;
  20.         }
  21.     };
  22. }

Wie ihr seht, weise ich dem MovieClip bei release bzw. releaseOutside mittels setMask eine Maske zu. Diese gilt aber nur für den letzten duplizierten MovieClip anstatt für alle MovieClips.

Ich habe schon probiert eine Maske für jeden duplizierten MC per AS zu zeichnen, allerdings hat es die Maske dann an den duplizierten MC drangehängt (sichtbar).

Kennt jemand eine Lösung für mein Problem? d. h. ich möchte jeden duplizierten MC eine Maske zu weisen.
(Maskenebenen funktionieren leider nicht mit duplizierten MovieClips)

Herzlichen Dank im Voraus für eure Antworten!
Schöne Grüße aus dem kalten Tirol
Hannes
__________________
lumi.at
illumitie ist offline   Mit Zitat antworten
Alt 29-10-2003, 13:04   #2 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
mach n mc duplizier dort die noien mc's rein
und häng an den ersten die maske dann sollts klappen
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Alt 29-10-2003, 13:25   #3 (permalink)
freundlich ...
 
Benutzerbild von LoRMiddleCLass
 
Registriert seit: Aug 2002
Ort: Berlin
Beiträge: 588
über setMask kannst du einer maske immer nur einen mc zuweisen, anders, als in der entwicklungsumgebung.

entweder also duplizierst du auch jedesmal die maske oder du machst es so, wie f@gju sagt...

*m
__________________
the universe wants you to win...
LoRMiddleCLass ist offline   Mit Zitat antworten
Alt 29-10-2003, 13:51   #4 (permalink)
Untitled User
 
Registriert seit: Dec 2001
Beiträge: 71
erstmal danke für eure Antworten

Allerdings habe ich anscheinend ein kleines Pfadproblem:
(hab auf _root zuerst manuell und dann per createEmptyMovieClip einen MC mit Instanznamen "container" erstellt)

ActionScript:
  1. on (press) {
  2.         _root.i += 1;
  3.        
  4.         if (this._name == "menu_vogel") {
  5.                 name = "vogel"+_root.i;
  6.                 _root.menu_vogel.duplicateMovieClip(_root.container[name], _root.i + 1); // Änderung
  7.         }
  8.         // this.swapDepths(++_root.depth);
  9.         startDrag(_root.container[name], false, 30, 30, 580, 270); // Änderung
  10. }

so einfach funktioniert's leider nicht ... auch das release bzw. releaseOutside werden dann nicht mehr korrekt ausgeführt (bei entsprechenden Änderungen).

Wisst ihr wie die korrekte Syntax lautet bzw. wie ich den Code umschreiben muss, sodass es funktioniert?

Vielen Dank für eure Hilfe!
__________________
lumi.at
illumitie ist offline   Mit Zitat antworten
Alt 29-10-2003, 14:14   #5 (permalink)
freundlich ...
 
Benutzerbild von LoRMiddleCLass
 
Registriert seit: Aug 2002
Ort: Berlin
Beiträge: 588
du musst deinen vogel von _root IN den container verschieben.

vorher.

und dann heißt es
ActionScript:
  1. _root.container.menu_vogel.duplicateMovieClip( name, _root.i + 1);
__________________
the universe wants you to win...
LoRMiddleCLass ist offline   Mit Zitat antworten
Alt 29-10-2003, 14:28   #6 (permalink)
Untitled User
 
Registriert seit: Dec 2001
Beiträge: 71
...das heisst also, dass es nicht möglich ist eine MovieClip in einen anderen MovieClip zu duplizieren?
Wenn dem so ist, wär das ein herber Rückschlag - schließlich bin ich davon ausgegangen, dass man den neuen Pfad des duplizierten MovieClips ebenfalls angeben kann

LoRMiddleCLass: dein Vorschlag löst zwar dieses spezifische Problem, allerdings müssen meine duplizierten MovieClips während des draggens auf der ganzen Stage sichtbar sein, sobald sie losgelassen werden, sollen sie allerdings maskiert werden (allerdings nicht der ursprüngliche MovieClip - das ist das eigentliche Problem)

d.h. der ursprüngliche MC (der durch on(press) dupliziert wird) soll immer sichtbar bleiben, die durch ihn duplizierten MCs allerdings on(release) maskiert werden.

Ich hoffe ihr versteht was ich meine
Nochmals, danke für eure Hilfe!
__________________
lumi.at
illumitie ist offline   Mit Zitat antworten
Alt 29-10-2003, 15:00   #7 (permalink)
freundlich ...
 
Benutzerbild von LoRMiddleCLass
 
Registriert seit: Aug 2002
Ort: Berlin
Beiträge: 588
vorschlag:

vogelMC_org ( der ursprünglilche ) liegt unmaskiert auf der bühne.
vogelMC2_tmp liegt im container unter der maske und wird _visible = false gesetzt.

wenn vogelMC_org gepresst wird, wird er dupliziert und ist draggable - nicht maskiert.

wenn der dupliziert released wird, wird
1. dieser mc wieder removed
2. vogelMC_tmp im container dupliziert und an der position des losgelassenen und removed mcs positioniert

gut?
__________________
the universe wants you to win...
LoRMiddleCLass ist offline   Mit Zitat antworten
Alt 29-10-2003, 15:19   #8 (permalink)
Untitled User
 
Registriert seit: Dec 2001
Beiträge: 71
Um ein bisserl Dialekt zu sprechen: "morz"umständlich, aber es funktioniert

Ich danke dir!
__________________
lumi.at
illumitie 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:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele