Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-12-2006, 12:45   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2006
Beiträge: 9
Angry Movieclips innerhalb einer Ebene in den Vordergrund/Hintergrund

Hallo Flashexperten,

seit über 10 Stunden versuch ich nun ein und das selbe Problem sauber zu lösen (swf-datei im anhang):

im internet unter:
http://www.pu-c.de/prob


Ich hab unter der Bildergaleriesection 4 Movieclips angeordnet die als Buttos fungieren und beim onmouseover gezoomt werden und beim release auf ihre ursprungsgröße zurückschrumpfen.

Jeder MC hat foldenden Code enthalten.

PHP-Code:
//all this code is inside the complex button so you can stick as many as you want 
//on the stage and all will work.. they all will have this code in it..

stop(); // stop the movie clip from playing (stop button from growing, we want that when the mouse rolls over only



this.onEnterFrame = function(){
    if(
rewind == true){   //if rewind switch is set to true play backwards
        
prevFrame();        // play backwards
    
}
}

this.onRollOver = function(){
    
rewind false//set variable (or switch) that decides wether ot not to play backwards...
    
play();    // play this movie clip.. (grow the button(tween));
    
_root.bildG="150 x 100"// größe wird auf 150x100 gesetzt
    
    
}

this.onRollOut = function(){
    
rewind true;    //set or rewind switch to true so it will play backwards...
    
}

this.onRelease = function(){
    
getURL("http://www.blabla.de/dasbildingroß.jpg","_blank"); // Das Bild wird nach dem klick in einem neuen fenster in groß geöffnet

Jetzt soll bei dem this.onRollOver Befehl aber noch zusätzlich der Movieclip in den Vordergrund gestellt werden, so dass er die andern "nicht aktiven" Movieclips überlagert. (später mal werden das viel mehr als nur 4 MCs so das die ganze fläche gefüllt sein soll und der angewählte clip soll immer alle anderen clips überlagern)


Hab das ganze schon mit this.swapDephts(x); versucht aber da stellt sich dann ein riesiges problem: beim wechseln in eine andere Section z.B. " über uns " wird der moviclip immer noch im vordergrund dargestellt und überlagert alles andere. auch mit anderen depth befehlen bin ich nicht weit gekommen ( get.depth(); this.getNextHighestDepth(); .... )

Für die Bildergalerie-Movieclips gibt es eine einzige Ebene in der nichts anderes ist außer eben diese Movie-Clip Buttons.

Gibt es eine Methode in dieser ebene zu sagen, dass gerade der angewählte MC immer im vordergrund ist??? ( Es gibt ja in Flash auch den Menuepunkt "Modifizieren>Anordnen>in der Vordergrund" , vielleicht kann man das auch in ActionScript benutzen)


Vielen Dank schonmal! Rettet mich vor dem verrückt werden
Angehängte Dateien
Dateityp: zip problem.zip (47,7 KB, 8x aufgerufen)
pu-c ist offline   Mit Zitat antworten
Alt 06-12-2006, 12:48   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Entweder swapst du den MC, der gerade im Vordergrund ist, halt wieder zurück, oder den aktuellen immer mit this.swapDepths(this.getNextHighestDepth()) auf die nächste freie Tiefe.

Sollte alles kein großes Problem sein.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-12-2006, 14:25   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2006
Beiträge: 9
Red face

hab jetzt so ne semi lösung gefunden:

PHP-Code:
on(rollOver){
    
this.swapDepths(this.getDepth()+2000000); 
    
trace (this.getDepth())
    
    }

on(rollOut){
    
this.swapDepths(this.getDepth()-2000000); 
    
trace (this.getDepth())
    
    } 
bin mir aber nicht sicher ob es da noch was eleganteres gibt. Das Tracing gibt mir jedenfalls immer die richtigen Dephs zurück

Geändert von pu-c (06-12-2006 um 14:39 Uhr)
pu-c ist offline   Mit Zitat antworten
Alt 06-12-2006, 16:30   #4 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
na so wie das sehe machst du das scalieren mit einem tween.
da must du ja alles von hand machen wenn neue bilder dazukommen.
einfacher wäre doch dann gleich in AS machen. so zb.
PHP-Code:
MovieClip.prototype.scaliere = function (speed) {
    
this.speed speed;this._xscale += this.speed;this._yscale += this.speed;
    
this.onEnterFrame = function () {
        if (
this._xscale !=100  && this._xscale!=20) {
            
this._xscale += this.speed;
            
this._yscale += this.speed;
        } else {
            
delete this.onEnterFrame;
        }
    };
};
anzahl_Bilder 4;
for (var 
0anzahl_Bilderi++) {
    var 
mc this.attachMovie ("bild"+i"bild" ii, {_x:200_xscale:20_yscale:20});
    
mc.onRollOver = function () {
        
this.swapDepths (anzahl_Bilder);
        
this.scaliere (5);
    };
    
mc.onRollOut = function () {
        
this.scaliere (-5);
    };

besser wäre dann noch die bilder reinzuladen.
__________________
gruß Harry

Geändert von HAY (06-12-2006 um 16:41 Uhr)
HAY 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 01:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele