tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
2283
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    stso stso ist offline Mitglied Bronze
    Registriert seit
    Jan 2007
    Beiträge
    41
    Hallo,
    ich habe folgendes Problem: Ich habe menschliche Figur in einer Vorderansicht gebaut. Nun habe ich einen Arm fertig gestellt und wollte diesen kopieren.

    Der Arm an sich ist ein MovieClip der einen weiteren Movieclip namens "unterarm" enthält. Der Movieclip "unterarm" wiederum enthält einen weiteren Movieclip namens "hand". Da ich den linken Arm zuerst erstellt habe habe ich die Instanznamen "linkerArm"(MovieClip "arm"), "linkerUnterarm"(MovieClip "unterarm") und "linkeHand"(MovieClip "hand") vergeben.

    Wenn ich jetzt zum Beispiel die Animation der linken Hand anhalten möchte würde der verschachtelte Befehl so aussehen:

    ... .linkerArm.linkerUnterarm.linkeHand.stop();

    Mein Problem ist nun wenn ich den linken Arm kopiere wird zwar vom MovieClip "arm" wirklich eine Kopie erstellt, aber das darin enthaltene MovieClip "unterarm" ist das SELBE Objekt wie im Originalarm. Wenn ich nämlich in der Kopie des Armes nun den Instanznamen "rechterUnterarm" angebe, wird auch im Originalarm der Instanzname des MovieClips "unterarm" auf "rechterUnterarm" geändert. Mit dem im MovieClip "unteram" liegendem MovieClip "hand" verhält es sich natürlich genau so. Handelt es sich hierbei um die aus der Objektorientierung bekannte "flache Kopie"?

    Ist es Möglich in Flash (CS3 (9)) eine "tiefe Kopie" von solch verschachtelten MovieClips zu erstellen. Das der Kopie von "arm" also ein eigenes "unterarm" -Objekt gegeben wird. Und das dem "unterarm"-Objekt wiederum ein eigenes "hand" -Objekt gegeben wird.

    Ich weiß das ich relativ umständlich formuliert habe aber vielleicht kennt ja einer von euch das Problem.
     

  2. #2
    Avatar von DJTrancelight
    DJTrancelight DJTrancelight ist offline Mitglied Platin
    Registriert seit
    Apr 2004
    Beiträge
    547
    Hi,

    ich weiß um welches Problem es sich bei dir dreht - hab aber leider nur Flash MX. Deshalb eine schnelle, aber unschöne Lösung.

    in der Bibliothek klickst du jedes von dir erwähnte Objekt an dann Rechtsklick und dann Duplizieren. Gibst ihm einen anderen Symbolnahmen und tauscht diesen mit deiner kopierten Arminstanz aus. Also zuerst alle original Symbole deines Arms (Unterarm, Hand etc.) in der Bilbliothek duplizieren (dadurch entstehen neue Symbole) und ersetzt dann diese mit deiner 2. Armkopie --> Instanz auf der Bühne anklicken, dann auf Austtauschen gehen.

    Viele Grüße
    DJ Trancelight
     
    Meine Software:
    GRAFIK:

    Adobe Master Collection CS5 (Photoshop, Illustrator, Indesign, Flash), Cinema 4D 5 SE, CorelSuite11
    MUSIK(Producing and Mixing):
    FL Studio ProducerEdition XXL 7,8,9 Deckadance
    (By the way: diese Information steht hier nur, damit Hilfesuchende sehen können, zu welchen Programmen ich Hilfestellung geben kann)

    Musik von mir gibt es hier:
    http://www.myspace.com/djtrancelight

  3. #3
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    nein, MovieClips auf der Bühne sind immer 1:1-Kopien der Vorlage aus der Bibliothek (wie Instanzen einer Klasse). Da es sich bei Dir allerdings nur um die Benennung zu drehen scheint, kannst Du das Ding doch einfach so aufbauen:
    Code :
    1
    2
    3
    
    Arm
    +-- Unterarm
         +-- Hand
    Dann kannst Du beide Arme so ansprechen:
    Code :
    1
    2
    3
    
    linkerArm.unterArm.hand.play();
     
    rechterArm.unterArm.hand.stop();

    Es gibt verschiedene Workarounds, die Dir erlauben, verschiedene Unterobjekte mit einem gemeinsamen Hauptobjekt zu benutzen - einer wäre der Austausch eines Unterobjekts zur Laufzeit mit AttachMovie (oder die Vorgehensweise, Unterobjekte generell erst zur Laufzeit zu instanzieren).

    Die "Holzhammermethode" wäre der Vorschlag von DJTrancelight: Eine Bibliothekskopie des Hauptobjekts zu erstellen - mit dem Nachteil, dass Du alle Änderungen an dem Objekt doppelt vornehmen musst.

    Gruß
    .
     

  4. #4
    stso stso ist offline Mitglied Bronze
    Registriert seit
    Jan 2007
    Beiträge
    41
    Hallo,
    vielen Dank für eure Antworten.

    @DJTrancelight: Ja, das hab ich auch so versucht. Der Nachteil war das ich die Armteile grob mit Tween-Animationen animiert habe und die Objekte für jedes Schlüsselbild austauschen musste. Nach dem Austauschen der Teile funktionierten die Twenn-Animation dann leider nicht mehr so wie sie sollten.

    @Tobias Menzel: Auf die Idee bin ich nicht gekommen - hab es aber gerade ausprobiert und es geht .
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  2. Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
    Von MTMonline im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 25.04.08, 09:49
  3. flash Problem - sendAndLoad("mailto.php", LV, "POST")
    Von MikeTurrento im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 01.06.06, 11:11
  4. Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
    Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 27.05.05, 15:29
  5. Antworten: 2
    Letzter Beitrag: 19.05.05, 19:51