Zeitanzeige mit Hintergrund
Übersicht

HidekiBetreff: Zeitanzeige mit Hintergrund |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
... folgendes Problem. Ich will mir eine Uhr programmieren habe aber das Problem das er die Zeit immer wieder über der alten rüberlegt - cls kann ich nicht nutzen weil ich nen hintergrundbild mit im Fenster hab und dann iss das dann weg. Kann ich das Image vielleicht seperat vom Fenster laden das CLS nur die alte zeit löscht...
Ausserdem läd er den Font aus der Datei nicht... ... so siehts aus... --------------------------------------------------------------------------------------------------------------------------------------- ; Fenster aufbauen Graphics 490,405,32,2 Hintergrund = LoadImage ("Wallpapers/Wallpaper1.jpg") DrawBlock Hintergrund, 0,0 ; Font laden Font = LoadFont ("data/StudioMN",25,1) SetFont Font ; Zeit anzeigen While Not KeyHit (1) Locate 0,345 Write CurrentTime$ () Wend --------------------------------------------------------------------------------------------------------------------------------------- wäre schön wenn ihr mir helfen könntet - danke... |
||
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hideki hat Folgendes geschrieben: cls kann ich nicht nutzen weil ich nen hintergrundbild mit im Fenster hab und dann iss das dann weg
Dann malst du es eben nochmal. Kein Problem ![]() LoadFont ![]() Du solltest einen Timer in dein Programm einbauen (siehe CreateTimer ![]() |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Hideki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
...das ging aber schnell ![]() schön... ![]() |
||
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieh dir noch die Befehle SetBuffer![]() ![]() ![]() Link zur deutschen Onlinehilfe (oder oben in der Leiste auf 'Hilfe' klicken) |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Hideki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
...mach ich...
da hast du recht - mit darüber nachdenken usw. Ich hab ja schon früher aufm Amiga in Basic programmiert - aber dagegen iss ja BlitzBasic 1000 mal besser... Ich probier gerade den Timer einzubauen - definiert oben (klar) aber wo muss ich den dann aufrufen - vor der schleife oder? |
||
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Definieren vor der Schleife und dann in der Schleife vor dem Zeichnen (bzw vor dem Löschen) Waittimer![]() |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
WaitTimer![]() Sonst "bremst" der Timer den Computer nur einmal am Anfang. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
- Zuletzt bearbeitet von mpmxyz am Mo, Dez 07, 2009 19:21, insgesamt 2-mal bearbeitet
Hideki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
okay hab ich so - jetzt blinkts aber im sekundentakt | ||
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Poste doch mal bitte deinen Code, dann kann ich dir sagen woran es liegt.
Nutze die Codetags: [*code] Code hier rein [*/code] (ohne Sternchen) |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Hideki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] ; Fenster aufbauen Graphics 490,405,32,2 ;Timer timer = CreateTimer (1) ; Font laden Font = LoadFont ("data/StudioMN",25,1) SetFont Font ; Zeit anzeigen While Not KeyHit (1) WaitTimer timer Cls Hintergrund = LoadImage ("Wallpapers/Wallpaper1.jpg") DrawBlock Hintergrund, 0,0 Locate 0,345 Write CurrentTime$ () Wend |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du lädst das Bild in einem Loop, das Loadimage bitte vor die Schleife
Achja benützte Text ![]() Hier noch eine gute Erklärung zu Doubblebuffering mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und es muss
Code: [AUSKLAPPEN] Waittier(timer)
heißen. Ansonsten funktioniert das bei mir gut, was meinst du denn genau mit "blinken"? |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Hideki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
okay die klammern hab ich rum gemacht - es blinkt aber bei mir immer noch im sekunden takt
@ozzi789 blackgecko hat doch zu mir gesagt ich soll das Hintergrund immer wieder neu laden - ich find das ja auch unsinnig aber ich bin voll newbie in blitz basic... Theoretisch versteh ich das ja mit dem DoubleBuffering aber ich weiß nicht wie ich das alles einbauen soll... |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
@blackgecko: Hast du Java? ![]() Ohne Klammern funktioniert das wunderbar... Außerdem heißt es WaitTimer ![]() ![]() ![]() In BlitzBasic braucht man bei Funktionen nur Klammern, wenn diese auch etwas zurückgeben sollen. Edit an Hideki: Du sollst das Bild neu zeichnen und nicht neu laden... mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
- Zuletzt bearbeitet von mpmxyz am Mo, Dez 07, 2009 19:43, insgesamt einmal bearbeitet
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
bei CreateTimer ![]() Du hast 1 angegeben also wird es jede Millisekunde aktualisiert. Nimm was um 60 dann geht es. Ach und willkommen im Forum Hideki mfg, count-doku |
||
- Zuletzt bearbeitet von count-doku am Mo, Dez 07, 2009 19:44, insgesamt einmal bearbeitet
Hideki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich hab jetzt das image aus der schleife rausgeschoben und jetzt klappts bei mir auch - jetzt versteh ich das aber nicht mehr - ich hab doch CLS in der schleife - wieso bleibt den jetzt das bild auf einmal da??????? | ||
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weil es nach jedem löschen wieder neu gezeichnet wird. | ||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Offtopic: Was ist denn heute mit euch allen los? Montag, Montag... ![]() @count-doku: CreateTimer ![]() @Hideki: Es wird ja nach dem Cls ![]() mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
- Zuletzt bearbeitet von mpmxyz am Mo, Dez 07, 2009 19:48, insgesamt einmal bearbeitet
![]() |
Valnar |
![]() Antworten mit Zitat ![]() |
---|---|---|
P.S. man gibt bei Createtimer nicht die Zeit in Millisekunden an, sondern wie oft ein Durchlauf in der Sekunde geschehen soll.
Ein Wert von 60 entspricht dabei 60 FPS, ein Wert von 1 heisst also das es nur jede Sekunde aktualisiert wird. |
||
[url][/url] |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wollen wir da mal ein wenig Aufräumen, also:
1.) Klammern bei Funktionsaufrufen sind in BB nur notendig, wenn man einen Rückgabewert haben will / die Funktion überhaupt etwas zurückliefert. Im Falle von WaitTimer gäbe es eine Rückgabe, die verwertet aber niemand, daher braucht man die Klammern nicht. 2.) Der Parameter bei CreateTimer gibt nicht die Zahl der Millisekunden an, wie du da schreibst count-doku. Sondern die Zahl der Frames pro Sekunde die man anstrebt. daher wäre 1 bei einer Uhr sogar ausreichend... Dennoch... falls man Interaktionen wünscht (Buttons etc) sollte man vlt auf 30 rauf gehen, bei flüssigen Spielen auch mal 50 oder 60. mfG, Christoph. EDIT: Juhu, Letzter... |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group