Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-04-2005, 10:21   #1 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Bildwechsel Zeitbasierend

Hallo Leuts

Ich raff was nich. Ich hab da ein Script zusammengenagelt, was externe bilder in einen dynamischen Clip laden soll und die Bilder dann nach einer Gewissen Zeit wechseln soll.

Die Bilder werden wie gewünscht zufällig ausgewählt und geladen, aber der Wechsel findet nicht statt.

Das Ziel wär, dass das Bild so alle 5 minuten (ja ich weiss 5000 sind 5 Sekunden, aber das ist nur zu testzwecken so eingestellt, damit ich nicht so lange warten muss) wechselt, wenn jemand auf die Seite kommt.

Was mach ich falsch?

tl = this;
tl.createEmptyMovieClip("container"+ct, ct+11);
tl["container"+ct]._x = 0;
tl["container"+ct]._y = 0;
tl["container"+ct].loadMovie("pict/pict"+Math.ceil(Math.random(0-11)*11)+".jpg");

tl["container"+ct].onEnterFrame=function(){

totaltime = 5000 + getTimer();
_root.countdown = int ((totaltime - getTimer ()) / 1000);
if (_root.countdown == 0) {
_root.tl["container"+ct].loadMovie("pict/pict"+Math.ceil(Math.random(0-11)*11)+".jpg");
delete this.onEnterFrame;
}
}

Vielen Dank für Anregungen ...
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:25   #2 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
mit dem loadMovie überschreibst du das onEnterFrame. glaube ich zumindst.überprüfe wann das bild fertig geladen ist und weise dann das onEnterFrame neu zu.

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:29   #3 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
*kratz*?? Äh, die Bilder werden ja geladen ...

Aber nur immer das erste, was er wählt ...

Dann, denke ich zumindest, sollte er doch überschreiben, damit er ein neues Bild laden kann? (Was er ja nicht tut)

oder nicht ...??
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:33   #4 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
naja: das meinte ich doch: du weist das onEnterFrame zu, er lädt einmal und danach passiert nicht mehr, da das onEnterFrame weg ist. schreibe mal ein trace(Random(100000)); in das oEF und beobachte.

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:37   #5 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Hab ich gemacht, jetzt kommt die Meldung 77239 im Ausgabefenster. Aber wechseln tut trotzdem nix ... hmmm ...
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:44   #6 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
es erscheint eine zufallszahl? eigentlich müssten ständig neue ausgegeben werden, da das trace sich ja in einer oEF befindet. ergo: das oEF existiert nicht mehr. lösung: siehe post #2;

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:49   #7 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Das hast du sicher recht! Aber ich kapier heut irgendwie nicht so richtig, was ich da an dem Script genau rumschrauben soll ...???
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:55   #8 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Hab mal das versucht, damits zuerst alles laden soll ...
klappt aber leider auch nicht ...

tl = this;
tl.createEmptyMovieClip("container"+ct, ct+11);
tl["container"+ct]._x = 0;
tl["container"+ct]._y = 0;
tl["container"+ct].loadMovie("pict/pict"+Math.ceil(Math.random(0-11)*11)+".jpg");

this.loader_funk = function() {
gesamt = tl["container"+ct].getBytesTotal();
bereits = tl["container"+ct].getBytesLoaded();
prozent = Math.ceil((bereits/gesamt)*100);
if (prozent>=100) {

tl["container"+ct].onEnterFrame=function(){
trace(Random(100000));
totaltime = 5000 + getTimer();
_root.countdown = int ((totaltime - getTimer ()) / 1000);
if (_root.countdown == 0) {
_root.tl["container"+ct].loadMovie("pict/pict"+Math.ceil(Math.random(0-11)*11)+".jpg");
delete this.onEnterFrame;
}
}
}
}
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 10:57   #9 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
was mir gerade auffällt: du löschst es ja sogar selber:
ActionScript:
  1. delete this.onEnterFrame;

warum?

und wäre es nicht von vornherein einfache, mit einem steuerMc[also einem, der autark vom container ist] zu arbeiten, der die bilder per setInterval neu lädt? damit ersparst du dir die "countdownrechnung" und hast auch nicht mehr das problem des überschriebenen oEF.

suche mal nach setIntervall wenn du es nicht kennst.

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 07-04-2005, 11:27   #10 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Hört sich gut an ... ich probier das mal ... funktioniert das aber auch zeitbasierend?

Die Idee ist ja, dass die Bilder gewechselt werden, egal ob da jemand auf der Seite ist oder nicht, also ob der Film läuft oder nicht. Die Bilder sollen zum Beispiel einfach alle 10 Minuten wechseln, wer also nach 10 Minuten die Seite wieder besucht, der sieht ein anderes Bild ...

Geht das mit setInterval?

Naja, ich probiers mal ...

Vielen Dank für die Hilfe !

Und herzliche Grüße
goldader
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 11:47   #11 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
ähm, kleine randbemerkung: flash läuft clientseitig. d.h. es wird beim benutzer beim aufruf der url lokal dargestellt.
deinen bilderwechsel müsstest du dann auf dem server vornehmen, dabei kommst du an einer scriptsprache nicht vorbei.

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 07-04-2005, 12:04   #12 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Das weiß ich. So Scripte hab ich auch. Aber ich wollte ja eins in Flash machen.

Hab aber langsam kapiert, was ich falsch mache.

Ich will das der Flashfilm z.B. "pict1.jpg" die ersten zehn Minuten einer Stunde lädt. (Dazu wollte ich die Zeitabfrage; aber was ich da verwendet habe war ja ziemlich falsch da muß ich nicht mit getTimer arbeiten) Dann die nächsten zehn Minuten dieser Stunde lädt der Film immer "pict2.jpg" die nächsten zehn Minuten dieser Stunde lädt der Film immer "pict3.jpg" ... etc.

Das müsste doch möglich sein, wenn ich doch die Zeit einlesen kann in einen Flashfilm ...

Da müsste es doch auch möglich sein, die Bilder gesteuert von dieser Zeit zu laden ...? Oder hab ich jetzt total einen an der Klatsche?
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 12:10   #13 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
das müsste gehen: einfach mit mein_datum.getMinutes() in einem switch oder sonstwie eine fallunterscheidung machen und darin den entprechenden dateinamen zusammensetzten.

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 07-04-2005, 12:31   #14 (permalink)
Licht-Arbeiter
 
Benutzerbild von goldader
 
Registriert seit: Aug 2004
Ort: Hier und Jetzt!
Beiträge: 29
Kannst du mir noch einmal helfen?

Habs jetzt so gemacht:

//setProperties
container._x=0
container._y=0

//load pics
container.loadMovie("pict/pict"+Math.ceil(Math.random(0-11)*11)+".jpg");

//swop pics
my_date.getSeconds();
if (my_date>10){
container.loadMovie("pict/pict"+Math.ceil(Math.random(0-11)*11)+".jpg");
}

Hab Sekunden genommen, damit ich nicht lange warten muss ...

Dooferweise wechselt immer noch nix ... arghhh!
goldader ist offline   Mit Zitat antworten
Alt 07-04-2005, 12:37   #15 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
ActionScript:
  1. //objekt !!!
  2. my_date=new Date();
  3. //wert merken
  4. sek=my_date.getSeconds();
  5. //prüfen
  6. if (sek>10){}

du kannst übrigens auch im editor auf hilfe drücken, wenn du dir unsicher bist. wenn ich es dir schreibe lernst du nicht sondern hast es nur fertig.

l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck 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 21:00 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele