Hi,
auf der Originalinstanz steht ja auch dieses:
Code:
on(press){
startDrag(this,false);
this.swapDepths(100);
}
on(release){
stopDrag();
}
Damit wird nur der einzelne MC (das Bild) verschoben.
Die Maushandler, die Du auf der Hauptzeitleiste für diesen Clip festlegst (womit Du den oben stehenden Code eigentlich überschreiben würdest), spielen keine Rolle, da alle Inhalte des Ziel-MCs (auch die Maushandler) durch die loadMovie-Aktion überschrieben werden: Der geladene Clip setzt das Zielobjekt komplett inklusive aller Funktionen, die darauf definiert sind. Da das Laden eines Bildes immer länger dauert, als das Ausführen von 2-3 Codezeilen, werden erst die Maushandler definiert, und dann überschreibt die Bilddatei den Clip.
Ein paar Tipps, die Dir die Fehlersuche in Zukunft erleichtern könnten:
- Mische keinen Code auf Instanzen ( z.B. "on(ereignis) {" ) mit Code auf Zeitleisten. Setze auf diese Weise insbesondere keinen Code außer kraft, indem Du (wie hier) auf der Instanz ein Mausereignis definierst, welches Du dann durch Zeitleistencode wieder überschreibst. Dies führt bestenfalls zu Verwirrungen, da nicht klar ist, welcher Code nun gilt.
- Setze am besten überhaupt keinen Code auf Instanzen ein, sondern lege den kompletten Code auf Zeitleisten (siehe im Flashhandbuch das Kapitel "Bewährte Verfahren und Kodierungskonventionen für ActionScript 2.0 > Kodierungskonventionen in ActionScript")
- Benenne Deine Symbole sinnvoll: Ein Objekt ohne Instanznamen mit dem Bezeichner "Symbol 11" gibt dem Betrachter keinen Hinweis, um was es sich handelt (zudem liegen bei Dir im Clip zwei Buttons auf zwei verschiedenen Ebenen übereinander: Symbol 8 und Symbol 12).
- Setze nach Möglichkeit keine Symbole vom Typ "Schaltfläche" ein, sondern arbeite ausschließlich mit MovieClips. Schaltflächenobjekte sind ein Relikt aus grauer Vorzeit, und führen oftmals zu Verwirrungen, da Sie aufgrund der fehlenden eigenen Zeitleiste anders adressiert werden (mit Symbolen vom Typ "Grafik" verhält es sich genau so).
Such im Forum mal mit den Begriffen "loadMovie", "Preloader", "Skalierung" - es gibt hier viele Beiträge, die sich damit befassen, z.B. auf das Laden einer externen Ressource zu warten, bevor dem Zielobjekt dann Code zugeordnet wird.
Ein anderer Ansatz wäre die Anlage eines weiteren Containers innerhalb des Zielcontainers - dann würde das Laden des Bildes (in den inneren Container) die Methoden auf dem äußeren Container nicht beeinflussen.
Gruß
.