Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-06-2004, 11:34   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 3
aktion mit bestimmter Uhrzeit

Hallo,
ich habe eine Frage, die sich auf ein bereits diskutiertes Thema bezieht. Und zwar möchte ich einen MC in Abhängigkeit zur Uhrzeit steuern. thread

Dies script von deluxe funktioniert wunderbar:
Code:
datum = new Date()
stunden = datum.getHours();
minuten = datum.getMinutes();

zeit= new String( stunden + ":" + minuten)

if (zeit=="12:00"){
//aktion....

}

else if(zeit="13:00"){
//noch ne aktion...
}
Allerdings möchte ich, dass jede viertel oder halbe Stunde das bild gewechselt wird. Folglich sind es ca. 24/48 Bilder (nur tagsüber).
Gibt es da nicht eine Möglichkeit, die flexibler ist und mit weniger code auskommt? Ich habe bereits verschiedenes versucht, aber leider reichen meine AS-Kenntnisse nicht aus...
Danke für jeden Tipp. Gruß
stephan_k ist offline   Mit Zitat antworten
Alt 13-06-2004, 11:40   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ich würde die aktuelle Uhrzeit auslesen, den Rest an Zeit zur nächsten vollen Viertelstunde berechnen und dann mit setInterval bis dahin warten.

mfg .r
bokel ist offline   Mit Zitat antworten
Alt 13-06-2004, 13:29   #3 (permalink)
!diot
 
Benutzerbild von Fuery3302
 
Registriert seit: Aug 2003
Ort: PunkRockCity-Linz
Beiträge: 95
???

hi leute.

wieso muss ich bei setInterval noch die zeit berechnen wenn jede 1/4 stunde z.B. ein Bild geladen werden soll ?
Oder lieg ich da falsch ?

also bei mir würde das dann so aussehn:


Code:
var abstand = 15  // in Minuten

function zeitabstand() {

      // wechsle Bild ....
}

var interval = setInterval( zeitabstand , (6000* abstand);
__________________
Incubus rocks
Fuery3302 ist offline   Mit Zitat antworten
Alt 13-06-2004, 13:43   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
naja und wenn du bei minute 5 einer stunde anfängst?
deine version zeigt ein bild alle viertel stunde seit dem start des films

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 13-06-2004, 13:56   #5 (permalink)
!diot
 
Benutzerbild von Fuery3302
 
Registriert seit: Aug 2003
Ort: PunkRockCity-Linz
Beiträge: 95
ahaaa

dann könnte das doch so aussehn:

Code:
_global.zeitabstand = function() {
	
	var meinD = new Date();
	var minuten = meinD.getMinutes();
	
	if (minuten == 5) {
		// wechsle Bild ...
	}

}
var interval = setInterval( zeitabstand , 6000);
oder ?
__________________
Incubus rocks
Fuery3302 ist offline   Mit Zitat antworten
Alt 14-06-2004, 10:15   #6 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
Die Frage ist ob Du die Bilder in einem MC hast oder ob die Geladen werden. Allgemein würd ich aber mal so machen :

PHP-Code:
Uhrzeit = new Date();
Stunde Uhrzeit.getHours();
BilderMC.gotoAndPlay(Stunde); 
Wenn Du die Bilder dyn. lädst würde ich das so machen:

PHP-Code:
Uhrzeit = new Date();
Stunde Uhrzeit.getHours();
Bilder = new Array();
for(
i=0;i<=23;i++){
Bilder[i] = "bild" ".jpg";
};
loadMovie(Bilder[Stunde];"BildContainer"]; 
edit:
Wieso geht [AS] nicht mehr

Geändert von ANTICHRIST (14-06-2004 um 10:18 Uhr)
ANTICHRIST ist offline   Mit Zitat antworten
Alt 14-06-2004, 13:37   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
@fuery
was soll das sein? du rufst die funktion alle 6 sekunden auf(=6000ms)auf und dann prüfst du auf 5min?
eigentlich hat bokel schon alles gesagt
PHP-Code:
//deine eigentliche timerfunktion
timer=function(){
    
//bildwechsel
}
starterfunktion, die auf die nächsten vollen 15min wartet
starter
=function(p){
//eigenes intervall löschen
    
clearInterval(p.id)    
//timerfunktion aufrufen
    
p.id=setInterval(p.timer,15*60*1000)
}
var 
d=new Date()
id=setInterval(starter,15*(d.getMinutes()%15!=0)-d.getMinutes()%15,this
eine wesentliche zeile ist
PHP-Code:
15*(d.getMinutes()%15!=0)-d.getMinutes()%15 
getMinutes liefert die minutenanzahl der aktuellen stunde das prozentziechen ist der modulo operator, dieser gibt den rest einer divison zurück, also genau das was wir brauchen.
d.getMinutes()%15!=0
diese abfrage schaut dass wir keine volle viertelstunde haben, falls doch ergibt der wert in der klammer false dieses falsewird in matheoperation automatisch zu einer null konvertiert(ein true zu 1)
ergibt also folgendes:
volle viertelstunde
15*(0)-minuten%15= minuten%15=0 ->gewünschter rest den wir suchen
unvolle viertelstunde(zB 39)
15*(1)-39%15=15-9=6


grüße
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 14-06-2004, 16:42   #8 (permalink)
!diot
 
Benutzerbild von Fuery3302
 
Registriert seit: Aug 2003
Ort: PunkRockCity-Linz
Beiträge: 95
oohhhhhhhhh

oh ho da hab ich wohl ne null zu wenig gedrückt. sry soll natürlich ne min ergeben. die fünf minuten sind nur z.B. gemeint weil es ja dann nicht vom beginn des films abhängt wann das bild wechselt.

naja ich seh schon ich muss noch einiges lernen.

mfg
__________________
Incubus rocks
Fuery3302 ist offline   Mit Zitat antworten
Alt 14-06-2004, 23:56   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
so wie du es gemacht hast brüchtest du dann ja 4 abfragen

0,15,30,45 minutenabfrage und das jede minute
aber es würde funktionieren!

deluxe
Deluxe 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 06:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele