Sammel Thread und Flash-FAQ

MovieClips mit AS "aufrollen"

[ ...außerdem geht es wohl mit AS! ]

Ich habe ein derartiges Script vor ca. einem Jahr geschrieben und im FlashForum veröffentlicht.. leider ist es seit dem Forum-Hack nicht mehr auffindbar...sry

Wenn noch jemand interesse daran hat, könnte ich das Prinzip aber mal erläutern!

So kompliziert, wie ihr es darstellt ist es nämlich auch nicht :)

grz
pape

edit:

so in etwa müsste es aussehen:
lala = der MovieClip, der aufgerollt werden soll (mittig ausgerichtet)
PHP:
MovieClip.prototype.male_maske = function () {
        this.beginFill(0x000000, 100);
        this.lineTo(0,1);
        this.lineTo(1,1);
        this.lineTo(1,0);
        this.endFill();
}
MovieClip.prototype.aufrollen = function (speed, delay) {
        maske1 = this._parent.createEmptyMovieClip("mask1",this.getDepth()+1);
        maske1.male_maske();
        maske1._y = this._y-this._height/2+this._height+1;
        maske1._x = this._x-this._width/2;
        maske1._height = 1;
        maske1._width = this._width;
        maske2 = maske1.duplicateMovieClip("mask2", this.getDepth()+3);
        kopie = this.duplicateMovieClip("copy", this.getDepth()+2);
        this.setMask(maske1);
        kopie.setMask(maske2);
        kopie._yscale *= -1;
        kopie._y = this._y+this._height;
        delay2 = delay/10;
        speed2 = 100/speed*delay2;
        rollmc = this.createEmptyMovieClip("roller",100);
        rollmc.onEnterFrame = function () {
                oriy = this._parent._y;
                orih = this._parent._height;
                disty = kopie._y-(oriy-orih);
                if (disty<2.2) {
                        kopie._y = oriy-orih;
                        maske1._y = oriy-orih/2;
                        maske1._height = orih+1;
                        maske2._y = oriy-orih/2;
                        maske2._height = orih+1;
                        delete this.onEnterFrame;
                } else {
                        kopie._y -= disty/speed2;
                        maske1._y -= disty/speed2/2;
                        maske1._height += disty/speed2/2;
                        maske2._y -= disty/speed2/2;
                        maske2._height = disty/speed2/2;
                }
        }
}

lala.aufrollen(15, 50);//parameter: speed, delay
mit getBounds ginge es noch um einiges schöner^^.. soll nur nen ansatz sein

mfG

eigentlich ein netter Ansatz, obwohl man das Aufrollen nur bei detailreichen Clips wirklich gut erkennt.

Ich nehme das Posting mal aus dem Ursprungsthread heraus, weil wir allzu alte Themen nicht ewig wiederbeleben wollen und die damaligen Poster wahrscheinlich nicht mehr davon profitieren können.

- Datic

.
 
Zuletzt bearbeitet von einem Moderator:
Slidegalerie mit Preloader

Hi,

aufgrund mehrerer Nachfragen gibts hier jetzt eine neue Version der scrollenden Bilderleiste mit integriertem Preloader.

Die Pfade zu den Bildern und Thumbnails werden der Leiste als Arrays übergeben. Prinzipiell könnt Ihr in dieser Galerie die Maße der Komponenten (Thumbnail, Slider, Anzeigefenster) beliebig ändern, ohne das Script verändern zu müssen. Achtet nur darauf, dass die Bezeichner und Positionen der MovieClips erhalten bleiben.

UPDATE: Die slide_gallery_xZOOM enthält optionale Bildlupen sowohl für die Thumbnails als auch für die Großansicht. Beide Lupen können mit Variablen auf der Hauptzeitleiste eingestellt werden.

Im Anhang findet Ihr die Galerie für Flash MX und MX2004.

Viel Spaß
.
 

Anhänge

  • slide_gallery_x.zip
    15,1 KB · Aufrufe: 388
  • slide_gallery_x_mx.zip
    13,1 KB · Aufrufe: 363
  • slide_gallery_xZOOM.zip
    21,9 KB · Aufrufe: 391
Zuletzt bearbeitet:

Neue Beiträge

Zurück