Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-01-2004, 12:52   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
Reproduktion

Hallo,
Ich hab einen kleinen MC, der in Bestimmten Situation eine genaue Kopie von sich erstellen soll.

Wie ich einen neuen MC erzeuge weis ich, aber wie kann ich da dann einen AS hineinpacken?

Ich hoffe das ist kein unlösbares Problem, denn diese "Reproduktion" soll unendlich oft fortgesetzt werden können.

Danke im Vorraus
PJTBBW ist offline   Mit Zitat antworten
Alt 16-01-2004, 13:03   #2 (permalink)
PIXELSCHIEBER
 
Benutzerbild von FlashKasper
 
Registriert seit: Oct 2001
Ort: Salem, Bodensee
Beiträge: 638
Ich denke wenn du deinen MC duplizierst übernimmt er glaube ich das Script von deinem Ursprungs MC.
__________________
Pack den Highscore
FlashKasper ist offline   Mit Zitat antworten
Alt 16-01-2004, 13:33   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 187
wie mach ich das wenn der inhalt des mc dynamisch ist?
hanso ist offline   Mit Zitat antworten
Alt 16-01-2004, 13:36   #4 (permalink)
PIXELSCHIEBER
 
Benutzerbild von FlashKasper
 
Registriert seit: Oct 2001
Ort: Salem, Bodensee
Beiträge: 638
je nach scriptanforderung:

Wenn du z.Bsp ein button script für dein duplizierten MC erzeugen willst, könntest du ja einfach beim duplizieren das script mitgeben z.Bsp:

ActionScript:
  1. duplicateMovieClip("mc_test", "mc_test2", 1);
  2.  
  3. mc_test2.onRelease = function()
  4. {
  5.     trace("test2");
  6. }

Ich weiss ja nicht was du machen willst.
__________________
Pack den Highscore
FlashKasper ist offline   Mit Zitat antworten
Alt 16-01-2004, 13:38   #5 (permalink)
oEF(etischist)
 
Registriert seit: Dec 2003
Ort: muc
Beiträge: 664
wenn Du einen MC per duplicateMovieClip kopierst, werden alle seine Inhalte, auch AS, mitkopiert.

Meine frage dazu:
Angenommen, ich habe einen MC auf der _root liegen und habe in der _root eine funktion MC.onMousePress = function (){};
wird die ja wohl nicht mitkopiert, oder?
Muss ich also die Funktion auch kopieren?
Wenn ich an dem MC eine on(press) funktion habe, wird die ja mitkopiert.
Hat mich schon immer mal interessiert, wie Ihr das so macht.

grüße,
Markus
soloFlash ist offline   Mit Zitat antworten
Alt 16-01-2004, 13:43   #6 (permalink)
PIXELSCHIEBER
 
Benutzerbild von FlashKasper
 
Registriert seit: Oct 2001
Ort: Salem, Bodensee
Beiträge: 638
nein die wird so nicht mitkopiert, habs gerade selber mal ausprobieren müssen.

Vielleicht gibts da ja noch irgendeinen Trick?
__________________
Pack den Highscore
FlashKasper ist offline   Mit Zitat antworten
Alt 16-01-2004, 14:46   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
Eine Kopie Kopie macht er. Die funktioniert auch, aber die nächste kommt nicht.

ActionScript:
  1. duplicateMovieClip("", "", 1);
PJTBBW ist offline   Mit Zitat antworten
Alt 16-01-2004, 14:59   #8 (permalink)
PIXELSCHIEBER
 
Benutzerbild von FlashKasper
 
Registriert seit: Oct 2001
Ort: Salem, Bodensee
Beiträge: 638
wie schaut dein script denn jetzt aus? wann kopierst du bzw. wie ist der genaue Aufruf?
__________________
Pack den Highscore
FlashKasper ist offline   Mit Zitat antworten
Alt 16-01-2004, 15:07   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
ActionScript:
  1. onClipEvent (enterFrame) {
  2.   duplicateMovieClip("", "", 1);
  3. }

Im Prinzip so. Es wird vorher abgefragt, wie alt das MC ist etc. aber das hat eigentlich sonst nichts mehr mit dem Kopieren zu tun
PJTBBW ist offline   Mit Zitat antworten
Alt 16-01-2004, 15:11   #10 (permalink)
PIXELSCHIEBER
 
Benutzerbild von FlashKasper
 
Registriert seit: Oct 2001
Ort: Salem, Bodensee
Beiträge: 638
duplicateMovieClip("Ziel", "neuerName", Tiefe);

Ich glaube du solltest aber schon neue Namen vergeben und die Tiefe anpassen, wenn die Tiefe gleich bleibt ersetzt sich der MC immer wieder.
__________________
Pack den Highscore
FlashKasper ist offline   Mit Zitat antworten
Alt 16-01-2004, 15:19   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
HEUREKA!
PJTBBW ist offline   Mit Zitat antworten
Alt 16-01-2004, 20:02   #12 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
Mist. Die Freude währte nicht lang:

Jetzt hab ich zwar viele schöne kleine MC's, aber die wollen nicht mehr weg.
Ich schätz mal das liegt am Namen, oder?

ActionScript:
  1. if(_global.fence == true) {
  2.         if(_global.rot == 0) {
  3.             if(this.hitTest(_root.fence.x)) {
  4.                 this.unloadMovie();
  5.             }
  6.         }
  7.         if(_global.rot == 1) {
  8.             if(this.hitTest(_root.fence.y)) {
  9.                 this.unloadMovie();
  10.             }
  11.         }
  12.     }

Oder darf ich eine bestimmte Tiefe nicht überschreiten?
Ich komm so auf 6,7

Geändert von PJTBBW (16-01-2004 um 20:04 Uhr)
PJTBBW ist offline   Mit Zitat antworten
Alt 16-01-2004, 21:40   #13 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Hi,

soweit ich weiß, kannst Du bei Flash mit einer Tiefe bis zu 16.000 arbeiten.

Zu Deinem Problem, dass Deine MC´s nicht mehr verschwinden:
Wenn Du Deine MC´s mit duplicateMovieClip dupliziert hast, kannst Du sie so wieder entfernen:

ActionScript:
  1. removeMovieClip(this);
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 16-01-2004, 22:17   #14 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
Bei denen, die ganz zu Anfang da sind funktionierts, aber bei den neu erstellten nicht mehr.
[edit] Also mit this.unloadMovie(); mein. Mit removeMovieClip(this); gehts gar nicht.

Geändert von PJTBBW (16-01-2004 um 22:23 Uhr)
PJTBBW ist offline   Mit Zitat antworten
Alt 16-01-2004, 22:53   #15 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Bei den neu erstellten muß es aber mit removeMovieClip gehen.
Was Du z.B. so duplizierst:

ActionScript:
  1. for (i=0;i<10;i++){
  2. duplicateMovieClip(alterMC, "neuerMC"+i,i);
  3. }

Dann entfernst Du ihn so:

ActionScript:
  1. // natürlich auch in einer for-schleife, mit i angefügt wird.
  2. removeMovieClip(this["neuerMC"+i];

oder falls du den genauen Namen kennst:

ActionScript:
  1. removeMovieClip(pfadzu.deinemMC); //
  2.  
__________________
Gruß
PIXIX
PIXIX 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 03:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele