Animation-Bilder wechseln nach Zeit!

corona

Erfahrenes Mitglied
Hallo liebe Flasher!
Ich habe auf flashkit.com ein Skript gefunden und dieses nach meinen Bedürfnissen angepasst. Das Ergebnis findet man auf www. corona1981 .de .vu (das ganze bitte extra eintippen, weil man ja hier keine .de .vu -Adressen eingeben kann).

Was ich jetzt gerne noch haben würde, weiß aber leider nicht wie das geht, da ich noch nicht so viel Ahnung von AS habe, ist folgendes: Wenn man auf dem rechten Pfeil klickt wird die nächste Position im Array angezeigt. Also ein neues Bild + neuer Text.

Wie geht das, dass ich die Pfeile komplett weglassen kann, und die Position sich immer nach 10 Sekunden ändert? Also ohne dass ich irgendwo geklickt habe.

Hier der AS-Text:
//The positions are automatically assigned a number, starting with [0], then [1]

arrayrow=[
["bild_1.jpg","Das Hispanish verfügt über 200 Plätze innen und etwa 150 Plätzen draussen."],
["bild_2.jpg","Seit etwa 3 Jahren besteht das Cafe Hispanish und ist ein fester Bestandteil in der Wiesbadener Szene."],
["bild_3.jpg","Ob jung oder alt. Student oder Geschäftsführer. Hier findet jeder was er sucht."],
["bild_4.jpg","Das spanische Ambiente ist einzigartig und sucht seines gleichen."],
["bild_5.jpg","Die freundliche Atmospähre ist nur ein Highlight des Cafes. Rote warme Farben, mediterannes Flair und und und."],
["bild_6.jpg","Dieses Fresko wurde extra aus dem National-Museum in Spanien importiert. Es stellt Jesus bei seinem letzten Abendmahl dar."],
["bild_7.jpg","Die Bar wurde von einem sehr bekannten Designer aus New York extra für das Hispanish hergestellt. Haben Sie so etwas schon mal gesehen?"],
["bild_8.jpg","Schauen Sie vorbei. Sie werden bestimmt nicht enttäuscht sein. Wir freuen uns auf Sie."],
["bild_9.jpg","Happy Hour ist immer von 18 bis 21 Uhr. Das bedeutet alle Cocktails für 4 Euro und alle Long-Drinks für 5 Euro. Das ist doch was, oder?"],
["bild_10.jpg","Das Hispanish würde sich über Ihren Besuch freuen. Wir bedanken für Ihr Interesse."]

];

//This is an easy way to say - the array named "arrayrow" is (not more than) the lengeth of the total number of rows
for(i=0;i<arrayrow.length;i++){
//initialize variables and properties
TargetIN._alpha = 100;
//This is where we set our counter to 0 - it later counts to the end of the number of rows in the array named "arrayrow"
CounterNumber = 0;
//The following function is assigned to the Forward button
//The function Fades Out the old image, counts up one number, displas the new number
//The statement begins by saying "If the current picture is less than the array (from the array above - means it's a valid picture)\
// AND is NOT (that's what the ! mark means) currently FadingIn or FadingOut,
//then go ahead and FadeImageOut now (true) when the button is pressed, count one, display current count
Forward.Forward.onPress = function() {
if (CounterNumber<arrayrow.length && !FadeImageIn && !FadeImageOut) {
FadeImageOut = true;
CounterNumber++;
CounterDisplay = CounterNumber;
}
};

//This is a similar function for the Back button except in reverse

Back.Back.onPress = function() {
if (CounterNumber>1 && !FadeImageIn && !FadeImageOut) {
FadeImageOut = true;
CounterNumber--;
CounterDisplay = CounterNumber;
}
};
onEnterFrame = function() {
// these lines fade the current image OUT to 0% alpha in steps of 10
// You can make it fade out faster by increasing the number or slower by making the number smaller
if (TargetIN._alpha>10 && FadeImageOut) {
TargetIN._alpha -= 10;
}
// the variable arrayrow[counternumber - 1] counts to the correct row to find the designated picture in the array named "arrayrow"
// the [4] indicates in which position along the array named "arrayrow" - beginning with position 0


if (TargetIN._alpha<10) {
loadMovie((arrayrow[counternumber-1][0]), TargetIN);
PicDescription = (arrayrow [counternumber-1][1]);


FadeImageOut = false;
FadeImageIn = true;
}
// these lines fade the image to 100% alpa in steps of 10
if (TargetIN._alpha<100 && FadeImageIn && !FadeImageOut) {
TargetIN._alpha += 10;
} else {
FadeImageIn = false;
}
// limit input field to a total of 20
if (CounterDisplay>20) {
CounterDisplay = 20;
}
}
}




DANKE FÜR JEDE HILFE :)
Corona
 
Hi,

ohne die Sourcedatei (fla) zu sehen, kann ich nur raten:
PHP:
var iv = 0;
iv = setInterval(function() { nextImg(); }, 10000);

function nextImg() {
   if (CounterNumber <= arrayrow.length) {
      FadeImageOut = true;
      CounterNumber ++;
      CounterDisplay = CounterNumber;
   } else {
      clearInterval(iv);
   }
}

Gruß

P.S.: Benutze bitte beim nächsten Mal PHP- oder CODE-Tags zum Posten von Code, danke! :)
.
 
Hallo,
Danke @ Datic für die schnelle Antwort :)

Leider sehe ich keinen Unterschied. Ich schicke im Anhang die Flash-Datei. Kann man die so ändern, dass die Bilder + Texte alle 10 Sec. sich ändern?

Falls Ihr keine Bilder sieht, liegt das daran dass die Bilder nicht in Flash eingefügt sind. Also irgendwelche Beispiel-Bilder nehmen und bild_1.jpg, bild_2.jpg usw. nennen.

thanx ;)
 

Anhänge

  • spain.zip
    15,1 KB · Aufrufe: 21
Hi,

Du hast a) die for-Schleife an der falschen Stelle geschlossen:
Code:
for(i=0;i<arrayrow.length;i++){
    //initialize variables and properties
    TargetIN._alpha = 100;
    //This is where we set our counter to 0 - it later counts to the end of the number of rows in the array named "arrayrow"
    CounterNumber = 0;
} <-- hier muss sie geschlossen werden

und damit b) meinen Code an der falschen Stelle. Schließe die Schleife korrekt, entferne die letzte Klammer ( } ) im Gesamtcode und setze meinen Zusatz an das Ende Deines Codes.

Gruß
.
 
Danke Datic! Es funktioniert :)

Ein Kleinigkeit würde ich aber noch gerne hin kriegen:
Wie mache ich das, dass diese erste Seite ohne Bild und Text nicht aufgerufen wird, sondern das ganze direkt zum ersten Bild springt? Dann kann ich nämlich auch die Pfeile weg lassen, was ich ja wollte.

1001 Dank noch mal,
Gruss!
 
Hi,

wenn ich das recht verstanden habe: Indem Du die Funktion "nextPic" einmal so aufrufst:
PHP:
// an den Anfang meines Codes:
nextPic();

Gruß
.
 
Hi,
funktioniert zwar, aber leider nicht so wie ich wollte :(

Ich hab die neue Version wieder auf www. corona1981 .de .vu hoch geladen. Am Anfang sieht man ja 10 Sekunden ein leeres Fenster. Erst dann kommen die Bilder + Texte. Wie kann ich dieses leere Fenster überspringen, so dass gleich beim Aufruf der Seite das erste Bild + der erste Text, also die erste Position des Arrays angezeigt wird?

Sonst alles super... :)
Vielen Dank noch mal,
Gruss.
 
Hi,

bei mir funktioniert das durchaus. ;)

Übrigens habe ich vorhin auch Blödsinn geredet: Besagte for-Schleife ist vollkommen überflüssig! Lösch die raus und sage einfach nur einmal:
Code:
TargetIN._alpha = 100;
CounterNumber = 0;

Dann an das Ende meinen Code;
Code:
var iv = 0; 
iv = setInterval(function() { nextImg(); }, 10000); 
nextImg();
function nextImg() { 
   if (CounterNumber<arrayrow.length && !FadeImageIn && !FadeImageOut) {
		FadeImageOut = true;
		CounterNumber++;
		CounterDisplay = CounterNumber;
   } else { 
      clearInterval(iv); 
   } 
}
und es sollte funktionieren.

Gruß
.
 
Hallo,
es klappt! Alles super. Danke, danke, danke... :)

Ist das eigentlich sehr kompliziert es so zu ändern, dass die Bilder ineinander faden? Jetzt ist das ja so dass erst mal das eine Bild komplett ausgefadet wird und dann angefangen wird das andere einzufaden. Also so, dass wenn das eine beginnt auszufaden das andere gleich anfängt sich einzufaden.

Nur wenn das nicht so kompliziert ist. Danke noch mal!
Grüsse,
Corona
 
Naja, Sagen wir es so: Es wäre vermutlich einfacher, das ganze Ding neu zu machen. ;)

Gruß

P.S.: Vielleicht findest Du im Sammelthread (in den FAQ) das ein oder andere Beispiel, mit dem Du es selbst hinbekommst.
.
 

Neue Beiträge

Zurück