MCs innerhalb anderer MCs skalieren...

D

daredevil

Hallo an alle,
ich habe folgende Probleme:
Ich habe in meiner Hauptzeitleiste einen Movieclip "bilder". Dieser hat einen blauen Hintergrund, der das Programmmenü überdecken soll. In diesem Movieclip sind zwei weitere Movieclips "container1" & "container2". Mein Ziel ist es, das bei Klick auf einen Button im Menü, der Movieclip "bilder" langsam auffadet, also von "alpha=0" zu "alpha=100" per tween. Danach sollen per AS in die beiden containers externe Bilder geladen und skaliert werden.
Ich habe schon eine Skalierfunktion in "bilder" geschrieben, die die entsprechenden Werte berechnet. Allerdings weiß ich nicht wie ich es anstellen soll, die Positionen und Größen von "container1 & 2" in "bilder" zu verändern. Bei meinen Versuchen, wurden die Bilder immer hinter dem blauen Hintergrund angezeigt, obwohl dieser von den Ebenen her ganz unten liegt.
Ausserdem weiß ich nicht, wo ich den Fadetween für "bilder" hintun soll und wie ich ihn dann ansteuern kann. In die Hauptzeitleiste oder in die Zeitleiste vom MC "bilder".

Ich hoffe jemand versteht mein Problem und kann mir helfen.
daredevil
 
Hallo,
also das mit den Ebenen hat sich erledigt. Allerdings weiß ich noch nicht wie ich Bilder, die ich in ein MC geladen habe skalieren kann. Wenn ich ein Bild lade, bleibt die Größe des MC bei 0, deswegen kann ich nicht die neue Größe ausrechnen. Meine erste Frage ist also: Was muss ich machen um ein Bild in ein MC zu laden (mit laodMovie() natürlich) um es dann richtig zu skalieren und mittig am Bildschirm zu positionieren?
Meine zweite Frage ist nun noch, wie ich aus der _root Ebene die Animation von einem MC abspielen kann und Funktionen darin aufrufen kann.

daredevil
 
Hi,

über das Skalierungsproblem habe ich mir auch einmal den Kopf zerbrochen.

Im Endeffekt scheint Flash die Größeninformationen nachgeladener Clips etwas verspätet bereitzustellen. Hier hilft es, ein paar Frames zu warten, bis diese verfügbar sind:
PHP:
container.loadMovie("beispiel.jpg");
container.onEnterFrame = function() {
    if (this._width > 0) {
        // hier die Skalierung vornehmen
        delete this.onEnterFrame;
    }
}

Clips steuerst Du über ihre Instanznamen an. Beispiel:
PHP:
meinClip.gotoAndPlay(10);

Gruß

.
 
Hallo
DANKE
Du hattest Recht, man muss erst ein bisschen warten, bevor man die Größen abrufen und verändern kann. Die Sache mit den Funktionen klappt nun auch, somit sind alle Probleme und Fragen gelöst.

Gruß
daredevil
 
Zurück