Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-12-2007, 19:49   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
duplicate movie clip Problem

hey

Ich habe folgendes Problem: ich möchte einen mc mit dem namen kafer6, der auf der bühne liegt in einen anderen mc mit dem namen kaferu duplizieren.
hab es so versucht aber das funktioniert irgendwie nicht.
PHP-Code:
_root.kaferu.duplicateMovieClip("_root."+kafer"kafer"+_root.b_root.b+1000); 
Was hab ich den falsch gemacht?

mfg jochi
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 02-12-2007, 21:14   #2 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Über duplicateMovieClip wird der entsprechende Clip immer auf der selben Zeitleiste erstellt, in der das Original liegt. Du kannst Ihn also damit nicht IN einen anderen MC hineinduplizieren. Wenn das Ding aber nicht dynamisch erzeugt wurde, sondern eh in der Bibliothek liegt, dann kannst Du ihn einfach via attachMovie in den anderen MC packen.
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 03-12-2007, 06:52   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
naja der mc wird dynamisch erzeugt.
Gibt es da vl noch eine andere möglichkeit?
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 03-12-2007, 20:41   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
wenn ich den kafer6 schon in kaferu erstelle und dann in kaferu dupliziere müsste das dann gehen

PHP-Code:
    _root.kaferu.duplicateMovieClip("kafer6""kafer"+_root.b_root.b+1000); 
wie mach ich das?
stimmt das so? das funktioniert nämlich irgendwie nicht

mfg jochi
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 03-12-2007, 23:26   #5 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Dynamisch erzeugte MCs können nicht dupliziert werden. Erzeug das Ding doch einfach in dem entsprechenden Container noch einmal
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 04-12-2007, 18:06   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
naja dann müsste ich aber alle bilder neu laden.
kann man einen nicht dynamisch erzeugten mc der in einem mc liegt im mc duplizieren?
PHP-Code:
_root.kaferu.duplicateMovieClip("gegkafer","kafer6",33123); 
hab das so versucht geht aber nicht

mfg jochi
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 05-12-2007, 12:51   #7 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Wie ich schon sagte, werden die MCs immer auf der selben Zeitleiste dupliziert wie das Original. Angenommen Deine Struktur sieht so aus:

<container>
<MC1 im container>

Wenn Du jetzt MC1 duplizierst, sieht das ganze so aus:

<container>
<MC1 im container>
<Kopie_von_MC1 im container>
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 05-12-2007, 12:53   #8 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Wenn Flash8 eine Option ist kannst du auch die Bilder mit der Bitmap-Klasse in einem Bitmap-Objekt zwischenspeichern und dann per draw in andere MCs zeichnen.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 05-12-2007, 18:26   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
@hellslawyer: ja genau das will ich jetzt machen ich will den gegkafer im mc kaferu duplizieren.
ich leg den mc jetzt nicht mehr dynamisch an aber es funktioniert trotzdem nicht
__________________
gratis Proben

Geändert von Jochi (05-12-2007 um 18:41 Uhr)
Jochi ist offline   Mit Zitat antworten
Alt 05-12-2007, 18:55   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
ha jetzt hab ichs geschafft
PHP-Code:
duplicateMovieClip(_root.kaferu.gegkafer,"kafer6",33123); 
so muss man das schreiben das es geht
ein Problem hab ich jetzt nur.
Es werden nämlich die MCs die in gegkafer liegen nicht mitdupliziert.
Kann das diese Funktion nicht?
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 06-12-2007, 18:53   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
naja jetzt werd ich das mit hilfe des bitmapData

PHP-Code:
stop();
import flash.display.BitmapData;
var 
mcLoader:MovieClipLoader = new MovieClipLoader();
var 
mcListener:Object = new Object();
this.createEmptyMovieClip("kafer6",33123);

for (var 
1i<=30i++) {
    
mcListener.onLoadProgress = function(targetloadedtotal):Void  {

        
loader_txt.text Math.round((loaded/total)*100)+"%";
    };
    
mcListener.onLoadComplete = function() {
        
_root.kafer6.allesGeladen +=;
    };
    
_root.kafer6.createEmptyMovieClip("container"+i,this.getNextHighestDepth()+i*20);
    
mcLoader.addListener(mcListener);
    
mcLoader.loadClip("d:\\mensch\\anfang"+i+".png",_root.kafer6["container"+i]);
}
this.onEnterFrame = function() {
    
    
    if (
_root.kafer6.allesGeladen >= 30) {
        
trace("alles")
        var 
source_movie:MovieClip _root.kafer6.container4;
        var 
target_movie:MovieClip createEmptyMovieClip("target"10000);
        
MovieClips
        
var bitmap:BitmapData = new BitmapData(source_movie._widthsource_movie._height);
        
bitmap.draw(source_movie);
        
target_movie.attachBitmap(bitmap,10);
        
target._x=250
        delete this
.onEnterFrame;
    }
}; 
aber das funktioniert noch nicht ganz ich kann zwar alles bilder laden aber das duplizieren mit dem bitmap data funktioniert noch nicht. Hab ich da noch was vergessen? oder wo hab ich den da einen Fehler?

Danke für eure MÜhe
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 10-12-2007, 17:27   #12 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
kann das sein dass das Bitmap data bei dynamisch erzeugten MC auch nicht funktioniert?
PHP-Code:
stop();
import flash.display.BitmapData;
var 
mcLoader:MovieClipLoader = new MovieClipLoader();
var 
mcListener:Object = new Object();
this.createEmptyMovieClip("kafer6",33123);

for (var 
1i<=30i++) {
    
mcListener.onLoadProgress = function(targetloadedtotal):Void  {

        
loader_txt.text Math.round((loaded/total)*100)+"%";
    };
    
mcListener.onLoadComplete = function() {
        
_root.kafer6.allesGeladen += 1;
    };
    
_root.kafer6.createEmptyMovieClip("container"+i,this.getNextHighestDepth()+i*20);
    
mcLoader.addListener(mcListener);
    
mcLoader.loadClip("d:\\mensch\\anfang"+i+".png",_root.kafer6["container"+i]);
}
this.onEnterFrame = function() {


    if (
_root.kafer6.allesGeladen>=30) {
        
trace("alles");


        
_root.createEmptyMovieClip("bild_kopie",this.getNextHighestDepth());
        
bild_kopie._x 10;
        
bitmapData = new flash.display.BitmapData_root.kafer6.container4._width,  _root.kafer6.container4._heightfalse0xffffff);
        
bitmapData.draw(_root.kafer6.container4);
        
_root.bild_kopie.attachBitmap(bitmapData,2);
        
delete this.onEnterFrame;
    }
}; 
habe es mit diesem Code probiert und funktioniert nicht
dann hab ich mal das Laden rausgenommen und den MC händisch im vorhinein erstellt mit den richtigen instanznamen und da hat es dann funktioniert.
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 11-12-2007, 00:13   #13 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
den Fehler machen die meisten
versuchs mal mit onLoadInit statt onLoadComplete
Zitat:
■■ Die Prozedur MovieClipLoader.onLoadComplete wird aufgerufen, nachdem eine Datei vollständig heruntergeladen wurde, aber noch bevor die Methoden und Eigenschaften des
geladenen Movieclips verfügbar sind. Diese Prozedur wird vor der Prozedur onLoadInit
aufgerufen.
■■■>> Die Prozedur MovieClipLoader.onLoadInit wird aufgerufen, wenn die Funktionen des
ersten Rahmens des Clips ausgeführt wurden, sodass mit der Bearbeitung des geladenen
Clips begonnen werden kann. Diese Prozedur wird nach der Prozedur onLoadComplete
aufgerufen. Für die meisten Zwecke ist die onLoadInit-Prozedur geeignet.
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 11-12-2007, 20:35   #14 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
PHP-Code:
stop();
import flash.display.BitmapData;
var 
mcLoader:MovieClipLoader = new MovieClipLoader();
var 
mcListener:Object = new Object();
this.createEmptyMovieClip("kafer6",33123);

for (var 
1i<=30i++) {
    
mcListener.onLoadProgress = function(targetloadedtotal):Void  {

        
loader_txt.text Math.round((loaded/total)*100)+"%";
    };
    
mcListener.onLoadInit = function() {
        
_root.kafer6.allesGeladen += 1;
    };
    
_root.kafer6.createEmptyMovieClip("container"+i,this.getNextHighestDepth()+i*20);
    
mcLoader.addListener(mcListener);
    
mcLoader.loadClip("d:\\mensch\\anfang"+i+".png",_root.kafer6["container"+i]);
}
this.onEnterFrame = function() {


    if (
_root.kafer6.allesGeladen>=30) {
        
trace("alles");


        
_root.createEmptyMovieClip("bild_kopie",this.getNextHighestDepth());
        
_root.bild_kopie._x 200;
        
_root.bild_kopie._y 10;
        
bitmapData = new flash.display.BitmapData_root.kafer6.container4._width,  _root.kafer6.container4._heightfalse0xffffff);
        
bitmapData.draw(_root.kafer6.container4);
        
_root.bild_kopie.attachBitmap(bitmapData,2);
        
delete this.onEnterFrame;
    }
}; 
@nullidee: Danke für den tipp

Ich hab es jetzt so probiert mit der onLoadInit aber das duplizieren funktioniert trotzdem nicht. Ich muss da noch irgendwas anderes falsch haben.

mfg jochi
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 12-12-2007, 09:19   #15 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
http://www.surge-oe.de/stuff/bitmapData.html

Das sind dynamisch geladene pngs die per BitmapData dupliziert werden ...

Vielleicht hilfts ja.

http://www.surge-oe.de/stuff/bug.rar
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt 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:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele