Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2008, 21:13   #1 (permalink)
Homo Sedentarius
 
Benutzerbild von Schwaermer
 
Registriert seit: Jun 2007
Beiträge: 150
Tag und Nacht

Hi,

ich habe auf meiner Webseite http://www.bernd-mehrtens.de eine interessante Idee umgesetzt. Ich habe mithilfe einer PHP5-Funktion Sonnenauf- und Untergang simuliert. Ich habe dazu die Dämmerungszeiten auf 120 Minuten (60+/60-) eingestellt.

Falls jemand Interesse hat, hier der Code:

PHP-Code:
    $SA                =    date_sunrise(time(), SUNFUNCS_RET_STRING53.083338.890date("O")/100);
    
$SU                =    date_sunset(time(), SUNFUNCS_RET_STRING53.083338.890date("O")/100);
    
$srise            =    (int)(substr($SA,0,2)*60)+substr($SA,3,2);
    
$sset            =    (int)(substr($SU,0,2)*60)+substr($SU,3,2);
    echo 
"&sunrise=$srise&";
    echo 
"&sunset=$sset&"
In der Funktion habe ich die GPS-Daten von Bremen verwendet. Übergeben an Flash werden der Einfachheithalber die Minutenzahlen des Tages für Sonnenauf und -untergang. Es handelt sich übrigens um die tatsächlichen Zeiten, wie sie stattfinden.

Ich verwende mehrere Ebenen mit Farbflächen und unterschiedlicher _alpha Transparenz. Einfacher wäre es vielleicht, Ebenen, die weiter "hinten" liegen, dunkler darzustellen. Meine Frage: Hat jemand eine Idee, wie das einfacher umgesetzt werden könnte. Also ob man die Ebenen nach Tiefe ansprechen und abdunkeln bzw. einfärben kann.

In jedem Fall eine interessante Idee, an der ich herumfeile. Vielleicht hat jemand was ähnliches?

Grüße

Geändert von Schwaermer (08-11-2008 um 21:14 Uhr)
Schwaermer ist offline   Mit Zitat antworten
Alt 08-11-2008, 21:17   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Allerdings startet die Seite noch im Hellen und
»schaltet« sich dann auf Dunkel. Soll das so sein?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 08-11-2008, 21:23   #3 (permalink)
Homo Sedentarius
 
Benutzerbild von Schwaermer
 
Registriert seit: Jun 2007
Beiträge: 150
Aber du meintest den Bug. Daran arbeite ich noch...

Behoben...

Geändert von Schwaermer (08-11-2008 um 23:02 Uhr)
Schwaermer ist offline   Mit Zitat antworten
Alt 08-11-2008, 21:28   #4 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
Aber zu dem was Gaspode gesagt hat:
Mach erst einen Übergang, damit man direkt Hell oder Dunkel
etc. sieht und nicht diesen krassen Switch

Also erst die Daten verarbeiten und dann einblenden.
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 08-11-2008, 21:30   #5 (permalink)
Homo Sedentarius
 
Benutzerbild von Schwaermer
 
Registriert seit: Jun 2007
Beiträge: 150
Auch das gibt es schon - also Dämmerungszeiten für Sonnen auf und -untergang.

Es geht nur um eine einfache Methode, weiter hinten liegende Ebenen stärker abzudunkeln, als von liegende.

Hier mal der AS Code, den ich in die Uhr eigebaut habe. da wird also aktuell immer jede Sekunde der neue Helligkeitswert bestimmt. Ist aber etwas schlicht...

Code:
function uhr() {
	meineUhr = new Date();

	stunde = meineUhr.getHours();
	if (stunde<10) {
		stunde = "0"+stunde;
	}
	minute = meineUhr.getMinutes();
	if (minute<10) {
		minute = "0"+minute;
	}

	sekunde = meineUhr.getSeconds();
	if (sekunde<10) {
		sekunde = "0"+sekunde;
	}
	mc_footer.uhrzeit = stunde+":"+minute+":"+sekunde;

	akminute = (stunde*60)+minute;

	if (akminute<(sauf-60)) {
		dunkel = 40;
	}
	if ((akminute>=(sauf-60)) && (akminute<=(sauf+60))) {
		dunkel = Math.ceil((sauf+60)-akminute)/3;
	}
	if ((akminute>(sauf+60)) && (akminute<(sunt-60))) {
		dunkel = 0;
	}
	if ((akminute>=(sunt-60)) && (akminute<=(sunt+60))) {
		dunkel = Math.ceil(akminute-(sunt-60))/3;
	}
	if (akminute>(sunt+60)) {
		dunkel = 40;
	}
	mc_dunkelheit._alpha = dunkel;
}

Geändert von Schwaermer (08-11-2008 um 21:33 Uhr)
Schwaermer ist offline   Mit Zitat antworten
Alt 08-11-2008, 22:29   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
1. --> verschoben; ist ja doch eher ne Flash-Frage

2. du verstehst nicht, was gaspode und crypto sagen wollen, gell... dass es auf deiner Seite da erstmal generell hell wird (ein langer "Blitzer") und sich dann erst die Helligkeit der Tageszeit anpasst... das ist ein visueller Fehler.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 08-11-2008, 22:36   #7 (permalink)
Homo Sedentarius
 
Benutzerbild von Schwaermer
 
Registriert seit: Jun 2007
Beiträge: 150
Hi, doch, mittlerweile habe ich es behoben.

Habe eben 2 Bier getrunken, darum bin ich etwas schwer von Begriff....

Sorry!
Schwaermer ist offline   Mit Zitat antworten
Alt 08-11-2008, 22:57   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zitat:
Zitat von Schwaermer Beitrag anzeigen
Habe eben 2 Bier getrunken
Oh Gott nein..!


Dabei wird's hier doch erst ab 6 Bier lustig...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 08-11-2008, 23:05   #9 (permalink)
Pixeldipaxeldipux
 
Benutzerbild von Ahrsib
 
Registriert seit: Dec 2002
Ort: Ruhrmetropole Essen
Beiträge: 7.589
Jetzt funzt es! Vorhin hat es noch geflackert.

Danke für die Veröffentlichung deiner Ergebnisse inkl. Code!

Mich erinnert das ein bisschen an die
Ambient-Light”-Funktion bei manchen Philips-Fernsehern.

Vielleicht finden sich ja gute Ideen für die Anwendung deines Codes!-)

Ahrsib
... you're welcome!-)
__________________
Selbstgelerntes ist am Besten!

iMac G5/2,1GHz, 2,5GB RAM, 20" Widescreen (1680*1050), MacOS 10.4.11, Safari 4.1, dsl 6000
Achim ...Orient

Das Flashforum zu unterstützen ist ganz einfach!
Ahrsib ist gerade online   Mit Zitat antworten
Alt 09-11-2008, 14:12   #10 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Zitat:
Zitat von Schwaermer Beitrag anzeigen
Habe eben 2 Bier getrunken, darum bin ich etwas schwer von Begriff
Ja wenn man schon Variablen mit dem Namen sauf benutzt!

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 09-11-2008, 15:21   #11 (permalink)
Homo Sedentarius
 
Benutzerbild von Schwaermer
 
Registriert seit: Jun 2007
Beiträge: 150
Zitat:
Ja wenn man schon Variablen mit dem Namen sauf benutzt!
Ich wollte auch erst "saufgang" nehmen. Das war mir aber zu eindeutig...
Schwaermer ist offline   Mit Zitat antworten
Alt 06-04-2009, 18:01   #12 (permalink)
Homo Sedentarius
 
Benutzerbild von Schwaermer
 
Registriert seit: Jun 2007
Beiträge: 150
Hier nochmal die komplette Funktion...

...die die tatsächlichen Sonnenauf- und Untergangszeiten nutzt. Notwendig ist eine PHP-Version über 5.1.2.


PHP-Code:
    $lat            =    53.0833// Geo-Breite von Bremen
    
$lon            =    8.8078// Geo-Laenge von Bremen
    
$offset        =    1// Zeitdifferenz zur GMT
    
$info            =    date_sun_info(time(), $lat$lon);

// Sonnenaufgang in Minuten nach 0:00 Uhr
    
$mt_sri        =    (int)(date('H',$info[sunrise])*60)+date('i',$info[sunrise]);
// Sonnenuntergang in Minuten nach 0:00 Uhr
    
$mt_sst        =    (int)(date('H',$info[sunset])*60)+date('i',$info[sunset]);

// Bürgerlicher Sonnenaufgang in Minuten nach 0:00 Uhr
    
$mt_ctb        =    (int)(date('H',$info[civil_twilight_begin])*60)+date('i',$info[civil_twilight_begin]);
// Bürgerlicher Sonnenuntergang in Minuten nach 0:00 Uhr
    
$mt_cte        =    (int)(date('H',$info[civil_twilight_end])*60)+date('i',$info[civil_twilight_end]);

// Nautischer Sonnenaufgang in Minuten nach 0:00 Uhr
    
$mt_ntb        =    (int)(date('H',$info[nautical_twilight_begin])*60)+date('i',$info[nautical_twilight_begin]);
// Nautischer Sonnenuntergang in Minuten nach 0:00 Uhr
    
$mt_nte        =    (int)(date('H',$info[nautical_twilight_end])*60)+date('i',$info[nautical_twilight_end]);

// Astronomischer Sonnenaufgang in Minuten nach 0:00 Uhr
    
$mt_atb        =    (int)(date('H',$info[astronomical_twilight_begin])*60)+date('i',$info[astronomical_twilight_begin]);
// Astronomischer Sonnenuntergang in Minuten nach 0:00 Uhr
    
$mt_ate        =    (int)(date('H',$info[astronomical_twilight_end])*60)+date('i',$info[astronomical_twilight_end]);

//Uhrzeiten (H:i)
    
$SA            =    date('H:i',$info[sunrise]);
    
$SU            =    date('H:i',$info[sunset]); 

Geändert von Schwaermer (06-04-2009 um 18:11 Uhr)
Schwaermer 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 09:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele