mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 05:52 Benutzername: Passwort: Auto-Login

Thema: Flashhilfe: Slideshow vom 26.09.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Flashhilfe: Slideshow
Autor Nachricht
benjo
Threadersteller

Dabei seit: 06.05.2003
Ort: Hamburg
Alter: -
Geschlecht: Männlich
Verfasst Mi 26.09.2007 12:17
Titel

Flashhilfe: Slideshow

Antworten mit Zitat Zum Seitenanfang

Moinsen!

Habe innerhalb eines umfangreicheren Flashprojekts untenstehenden Code verwendet, um eine automatische Bilderslideshow darzustellen. Klappt auch wunderbar, nur das Problem ist folgendermaßen: Innerhalb des Projekts verwende ich diese Slideshow an verschiedenen Stellen, mit anderen Bildern. Ich habe dafür einfach diesen Code in verschiedene Movieclips mit unterschiedlichen Instanznamen gelegt und innerhalb des Codes nur die Bildquellen geändert.

Beim Aufruf der ersten Slideshow klappt alles bestens, bei der zweiten gibt's dann aber schon Probleme (Bilder sind verschoben, werden zu schnell abgespielt, nicht die richtige Reihenfolge, usw.).

Kann jemand auf Anhieb sagen, woran das liegen könnte? Meine Vermutung ist, dass die Variablen vor Aufruf der nächsten Slideshow irgendwie resettet werden müssen, oder die erzeugten MCs gelöscht? Aber auch da weiss ich nicht, wie das gehen soll. Bin kein Coder *zwinker*

Wäre perfekto wann mir da mal jemand auf die Sprünge helfen könnte!
Besten Dank,
benjo

Code:
var images = new Array("bild1.jpg", "bild2.jpg", "bild3.jpg"); // Array mit den Bildpfaden
var img = new Array(); // Array für die Bild-MCs
var loaded = 0; // zeigt an, wie viele Bilder schon geladen wurden
var dec = 20; // Abbremsungsfaktor für das Überblenden
var currentImage = -1; // aktuelles Bild
var interval = 3000; // Zeitspanne zwischen den Bildern (hier: 3 Sekunden)
var iv = 0; // Intervall-Handler für setIntervall (Pause zwischen den Bildern)
var stime = 0; // Zeit nach dem Einblenden merken
var mcl = new MovieClipLoader(); // MovieClipLoader um die Bilder zu laden

mcl.onLoadInit = function() { // wird aufgerufen, wenn ein Bild geladen wurde
   clearInterval(iv); // Intervall löschen
   if (getTimer() - stime >= interval) { // wenn Intervallzeit schon abgelaufen:
      showNext(); // .. direkt nächstes Bild anzeigen
   } else { // ansonsten:
      iv = setInterval(showNext, interval - (getTimer() - stime)); // Bild nach Restzeitspanne anzeigen
   }
}

for (var i=0; i<images.length; i++) {
   img[i] = this.createEmptyMovieClip("img" + i, i); // Für jedes Bild einen MC erstellen
   var ct = img[i].createEmptyMovieClip("ct", 1); // ... und dort einen weiteren leeren MC hineinpacken
   img[i]._src = images[i];
   img[i]._visible = false; // Bild erstmal ausblenden
   img[i]._alpha = 0; // und Alphawert auf 0 sethen
}

loadNext();

function loadNext() { // nächstes Bild vorladen
   var d = currentImage + 1;
   if (d > images.length - 1) d = 0;
   mcl.loadClip(img[d]._src, img[d].ct);
}

function showNext() { // nächstes Bild anzeigen
   clearInterval(iv);
   img[currentImage].fade(0, dec);
   currentImage ++;
   if (currentImage > images.length - 1) currentImage = 0;
   img[currentImage].swapDepths(this.getNextHighestDepth());
   img[currentImage]._x = Stage.width / 2 - img[currentImage]._width / 2;
   img[currentImage]._y = Stage.height / 2 - img[currentImage]._height / 2;
   img[currentImage].fade(100, dec);
   stime = getTimer(); // aktuelle Zeit merken
   loadNext(); // und gleich das nächste Bild vorladen
}

MovieClip.prototype.fade = function(d, s) {
   if (d != 0) this._visible = true;
   this.onEnterFrame = function() {
      this._alpha += (d - this._alpha) / s;
      if (Math.abs(d - this._alpha) < 1) {
         delete this.onEnterFrame;
         this._alpha = d;
         if (d == 0) this._visible = false;
      }
   }
}


Zuletzt bearbeitet von benjo am Do 27.09.2007 10:29, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
benjo
Threadersteller

Dabei seit: 06.05.2003
Ort: Hamburg
Alter: -
Geschlecht: Männlich
Verfasst Do 27.09.2007 10:30
Titel

Antworten mit Zitat Zum Seitenanfang

Weiss das wirklich niemand? Ist bestimmt nur ne Kleinigkeit... Verzweiflung!
  View user's profile Private Nachricht senden
Anzeige
Anzeige
maSuL

Dabei seit: 18.08.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 28.09.2007 16:29
Titel

Antworten mit Zitat Zum Seitenanfang

benutzt doch fertige programme
  View user's profile Private Nachricht senden
 
Ähnliche Themen [jQuery Cycle] Slideshow in Slideshow wechseln zusammen
Slideshow?
Slideshow
Slideshow
Slideshow
Slideshow
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.