Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Sonnenauf- und Untergang (https://www.delphipraxis.net/91566-sonnenauf-und-untergang.html)

ballerino 7. Mai 2007 07:42


Sonnenauf- und Untergang
 
halli hallo, keine Ahnung ob ich hier richtig bin, aber ich hätte da mal eine Frage!
Leider bin ich auch einer der loser, die absolut keine Ahnung von Delphi haben und es in der Schule gewählt haben! Jetz müssen wir ein dummes Projekt machen:
Also mein Plan: Ich möchte eine Sonne proggen bzw einen Sonnenauf- und untergang....meiner Phantasien sind keine Grenzen gesetzt, hat irgendwer Vorschläge wie so was laufen kann?
Bin glücklich über jedwede Hilfestellung!
LG und vielen Dank...

Tormentor32 7. Mai 2007 07:49

Re: Sonnenauf- und Untergang
 
Ein bisschen mehr Infos wären angebracht. Willst du nur Ideen sammeln, was man in so eine, ich nenn es einfach mal "Sonnensimulation" alles einbauen könnte, oder hast du schon eine konkrete Vorstellung, wie das Programm aussehen soll? Wenn du an bestimmten Stellen nicht weiter weißt, dann kannst du diese Fragen gerne stellen, aber ohne Informationen, was du genau machen willst, kann dir keiner helfen. Also überleg dir am Besten erstmal, was du genau willst, überleg dir, wie man das umsetzen könnte, und frag bei Problemen nach.

Relicted 7. Mai 2007 07:53

Re: Sonnenauf- und Untergang
 
du brauchst ein image und einen timer ( reiterkarte system )...
wenn du den timer doppelklickst springst du in die prozedur die standardmäßig alle 1s ausgeführt wird.

jetzt musst du mit dem image spielen.. um die sonne hoch- und runterfahren zu lassen könntest du folgendes verwenden:

Delphi-Quellcode:
begin
  if Image1.Top < 0 then
    Image1.Top := Image1.Top + 10
  else
    Image1.Top := Image1.Top - 10;
end;
so würdest du bei jedem aufruf des timers das image also das bild wo deine gemalte sonne drin steckt immer hoch und wieder runter fahren...

einfach mal mit nem timer spielen :-)

gruß
reli

Tormentor32 7. Mai 2007 08:01

Re: Sonnenauf- und Untergang
 
Das wäre dann aber eine sehr hakelige Sonne :wink:

Besser einen Faktor einbauen, der bestimmt, in welche Richtung die Sonne sich bewegt:
Delphi-Quellcode:
var Faktor: integer;
begin
  if (image1.top < 0)
    then
      Faktor := 1
    else
  if (Image1.Top > 50)
    then
      Faktor := -1;
  Image1.Top := Image1.Top+(Faktor*5);
end;

Relicted 7. Mai 2007 08:11

Re: Sonnenauf- und Untergang
 
jo klar war ja auch nur ein quick'n'dirty vorschlag wie man es machen könnte... nur ein denkanstoß ^^

gruß
reli

Robert Marquardt 7. Mai 2007 08:12

Re: Sonnenauf- und Untergang
 
Na erst mal muss man sich ueberlegen was man malen will.
Man braucht einen Horizont und eine Sonne. Der Horizont teilt die Malflaeche horizontal in Himmel und Erde. Wo er die Flaeche teilt ist eigentlich beliebig. Es kommen aesthaetische Erwaegungen ins Spiel. Eine Teilung im unteren Drittel sieht besser aus als in der Mitte. Oben malt man die Flaeche hellblau und unten dunkelgruen, um Himmel und Erde mit ihrer ueblichen Farbe darzustellen. Die Sonne entsprechend gelb. Die Sonne ist ein Kreis mit eigentlich beliebigem Radius. Man sollte den Radius nicht zu gross waehlen, damit man genuegend Platz fuer die Animation hat.

Der Timer zum Malen wurde ja schon erwaehnt. Es ist allerdings besser mit moeglichst kleinen Schritten zu malen. Die Animation ist dann fluessiger.
In erster Annaeherung sollte man die Sonne senkrecht nach oben mit linearer Bewegung animieren.
Man malt also ert den Himmel, dann die Sonne und zuletzt den Boden. Damit ueberdeckt der Boden dann die Sonne. Der Startpunkt muss als 1x Radius unterhalb des Horizonts gewaehlt werden, damit die Sonne initial nicht zu sehen ist. Man malt auf ein TImage. Damit man das stufenweise Malen nicht sieht, malt man erst auf eine Bitmap und kopiert die Bitmap dann ins TImage.

Spaeter kann man die Animation der Realitaet anpassen. Die Sonne geht dann links der Mitte auf und beschreibt einen Kreisbogen nach rechts (wir muessen ja nach Osten schauen). Da kommen dann so Sachen ins Spiel wie der Breitengrad und Tag im Jahr an dem der Sonnenaufgang stattfindet. Das bestimmt ja den Kreisbogen den wir sehen. ein bischen Farbanimation von Hellrot nach Gelb kann auch nicht schaden.

sirius 7. Mai 2007 09:35

Re: Sonnenauf- und Untergang
 
Man könnte auch die Himmelsscheibe darstellen und darauf die Ekliptik einzeichnen, und die Sonne entpsrechend der Uhrzeit wandern lassen. Dann kann auch der Informatiker in seinem Kämmerlein auf dem Bildschirm schauen und sieht, ob die Sonne grad durchs Schlafzimmerfenster oder durchs Wohnzimmerfenster scheint :mrgreen:
Dazu müsste man allerdings noch die Position des Rechners eingeben.

ballerino 7. Mai 2007 19:26

Re: Sonnenauf- und Untergang
 
Also ....
Erstmal vielen Dank, bin echt beeindruckt wie schnell ihr seid!

Ich dachte mir wie schon erwähnt den Bildschirm zuteilen, Himmel-Erde, ob es nun genau die Hälfte ist, wäre zunächst einmal nicht wichtig. Ich hatte mir auch vorgenommen, je nach dem wo die Sonne gerade steht, das blau des Himmels bzw. das Grün des Bodens heller bzw dunkler werden zu lassen.
Als erstes möchte ich ein Programm haben, dass eine Sonne auf ein image zaubert, die sich in einem Kreisbogen gewegt, klar dass sie dann nur am Himmel zu sehen sein soll...
wow und ich bin echt dumm also so richtig dumm wenns ums Programmieren geht :coder2:

Blink 8. Mai 2007 22:21

Re: Sonnenauf- und Untergang
 
Hi

Wie währ es mit einem Animierten GIF Bild :zwinker: :mrgreen:

Sollte nur Spaß sein, obwohl es so ja viel leichter währe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz