Wie macht man diesen "Gallerie-Slide"?

showNext(); _ist_ der Aufruf der function showNext()

Arbeite dich am besten vorher mal in die Grundlagen von Funktionen ein.

Gruß
Rena
 
Die ist in dem Beispiel doch schon definiert -> siehe: function showNext(){}

Denn eigentlich ist es vom Prinzip her schon so einfach...

Beispiel für die Arbeitsweise von Funktionen - hier ohne Parameter - einfach in einen leeren Film in den ersten Frame der Hauptzeitleiste kopieren und dann Strg+Return
Code:
//Die Funktion
function machwas(){
	trace("jetztwurdeichaufgerufen");
	//oder was sonst dann passieren soll
}

//Der Aufruf
machwas();
Der Aufruf kann natürlich auch von anderer Stelle aus kommen, z.B. von einer Schaltfläche per Klick o.ä.
Gegebenenfalls müssen Pfade zur Funktion beachtet werden.

Beispiel für eine Funktion mit Parameter
Code:
//Die Funktion
function machwas(parameter){
	trace(parameter);
}

//Der Aufruf
machwas("Hallo Welt");
 
Zuletzt bearbeitet:
PHP:
//Die Funktion
function loadfirst(){
    trace("bild1.jpg");
    //oder was sonst dann passieren soll
}

//Der Aufruf
loadfirst();


so in der Art?
Nee wa...passiert nehmlich nichts...hm wie mach is den das, das es funktioniert?
 
... wenn Du "Trace-Aktionen übergehen" in den Veröffentlichungseinstellungen nicht aktiviert hast, sollte dieser Code "bild1.jpg" ausgeben. Hast Du denn schon mal einen Blick in die Referenz unter "function" geworfen?

Gruß
.
 
ja "bild1.jpg" wird ausgegeben......aber wie jetzt weiter? Kannst du mal nich einfach den code schreiben..bin am verzweifeln........sind jetzt schon 3 wochen :-(

Danke im vorraus!
 
Aber das hat er doch schon, siehe das, was du auch schon zitiert hast
Code:
var images = new Array("bild1.jpg", "bild2.jpg", "bild3.jpg");

var current = -1;

function showNext() {
    current ++;
    if (current >= images.length) current = 0;
    container.loadImg(images[current]);
}

container.onRelease = function() {
    showNext();
}

showNext();
Hab's gerade ausprobiert - geht.
Bis auf die Tatsache, dass Flash im ersten Frame manchmal ins Husten kommt. Keine Ahnung warum,
ist für mich auch nicht immer reproduzierbar, evtl. wegen interner Ladereihenfolgen?
Ok stimmt, da könnte man dran hängen bleiben. Deshalb liegt im anhängenden Beispiel (die Datei von Tobias) der Einfachheit halber nun genau dieses Script (plus einem stop) auf Frame 2.

Gruß
Rena
 

Anhänge

  • 24958attachment.zip
    9,4 KB · Aufrufe: 127
Zuletzt bearbeitet:
@Rena: Es liegt daran, dass Code in MovieClips, die sich auf der Bühne befinden (bzw. frisch instanziert werden), erst nach dem Verarbeiten des AS-Code auf diesem Frame "geparst" wird. Methoden in diesen MCs stehen daher erst 1 Frame später zur Verfügung. Ich setze Aufrufe, die MC-Methoden verwenden, daher immer in eine einmal durchlaufene onEnterFrame-Methode:
Code:
this.onEnterFrame = function() {
    delete this.onEnterFrame;
    showNext();
}

Gruß
.
 
Also in der Tat mein laienhaft ausgedrücktes "wegen interner Ladereihenfolgen" auch wenn's nicht wirklich das Laden an sich ist? Wie gesagt - konnt's noch nicht eindeutig identifizieren weil in manchen Konstellationen geht's ja. Aber so wie du's sagst klingt es logisch.

Deine Lösung ist aber auch ein cleverer Workaround. :)

Gruß
Rena
 

Neue Beiträge

Zurück