Problem mit Cls und Darstellung im Vollbildmodus
Übersicht

![]() |
ViddeBetreff: Problem mit Cls und Darstellung im Vollbildmodus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum läuft folgende Code nur dann sauber ab, wenn ich den Befehl "Cls" in eine übergeordnete While/Wend - Schleife lege?
Code: [AUSKLAPPEN] Graphics 800,600,0,1
SetBuffer BackBuffer() Global Wert Repeat Wert = 0 While MouseDown(1) ; <-- warum wird diese Schleife notwendig? Cls While MouseDown(1) Color 0,0,0 Rect 0,0, 50,40 Color 255,255,255 Text 10,10, Wert Wert = Wert + 1 Line 50,50, 50,80 If Wert < 100 Then Color 100+(0.5*Wert),255,100+(0.5*Wert) Line Wert,50,Wert,60 End If If Wert = 50 Then Color 100,100,255 Line Wert,50,Wert,60 Oval 100,100,20,20 End If Flip Wend Wend Until MouseHit(2) Des Weiteren wird der Wertebalken im Vollbildmodus nur bei geradem Wert gelöscht. Bei ungeraden Werten bleibt der Balken sichtbar und ist unterbrochen (nur jede zweite Linie wird dargestellt). Und warum wird der blaue Kreis bei einem Wert von 49 gezeichnet, obwohl die If-Bedingung den Wert 50 fordert? |
||
Gern der Zeiten gedenk ich, als alle Glieder gelenkig - bis auf eins. Diese Zeiten kehren nie wieder, steif sind nun alle Glieder - bis auf eins. |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Und warum wird der blaue Kreis bei einem Wert von 49 gezeichnet, obwohl die If-Bedingung den Wert 50 fordert? Deine Textausgabe erfolgt vor dem erhöhen des Wertes: Nachdem du den Wert 49 am Bildschirm ausgegeben hast erhöhst du ihn um 1 und erfüllst somit noch in der gleichen Schleife die Bedingung zum Zeichnen des blauen Kreises.
Guck dir mal bitte folgendes an, vielleicht bringt dich das weiter: Code: [AUSKLAPPEN] Graphics 800,600,0,1
SetBuffer BackBuffer() Global Wert While Not KeyDown(1) ; ESCAPE Cls If MouseDown(1) Then Wert = Wert + 1 If MouseDown(2) Then wert = wert - 1 Color 255,255,255 Text 10,10, Wert Line 50,50, 50,80 If Wert < 100 Then Color 100+(0.5*Wert),255,100+(0.5*Wert) Line Wert,50,Wert,60 End If If Wert = 50 Then Color 100,100,255 Line Wert,50,Wert,60 Oval 100,100,20,20 End If Flip Wend |
||
![]() |
Vidde |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank gameworx. Das 49/50er Problem ist mir ja fast peinlich - welch simpler Fehler meinerseits.
Ähnlich weit, wie Dein Alternativcode war ich auch schon. Leider verschwindet dabei der Balken. Nochmals besten Dank für Deine Mühe. |
||
Gern der Zeiten gedenk ich, als alle Glieder gelenkig - bis auf eins. Diese Zeiten kehren nie wieder, steif sind nun alle Glieder - bis auf eins. |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
welchen balken genau meinst du?
Diesen? Color 0,0,0 Rect 0,0, 50,40 Den habe ich im "Alternativcode" weg gelassen, weil der ein schwarzes Rechteck auf einen schwarzen Hintergrund (cls) zeichnet. ![]() Entweder du benutzt eine andere Hintergrundfarbe für CLS oder für das Rechteck. |
||
![]() |
Vidde |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, ich meine den Balken, der durch das Zeichnen einzelner Linien entsteht.
Code: [AUSKLAPPEN] Line Wert,50,Wert,60
So wie Du das Cls einpflanzt, löscht es diese leider permanent. HALT: Balkenproblem gelöst. |
||
Gern der Zeiten gedenk ich, als alle Glieder gelenkig - bis auf eins. Diese Zeiten kehren nie wieder, steif sind nun alle Glieder - bis auf eins. |
- Zuletzt bearbeitet von Vidde am Mi, Aug 04, 2010 15:20, insgesamt einmal bearbeitet
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Benutz doch Rect![]() Code: [AUSKLAPPEN] Rect 0,100,wert,20
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Befehl "Line Wert,50,Wert,60" zeichnet nur eine 1 Pixel breite senkrechte Linie an der Position X, die 10 Pixel hoch ist.
Einen Balken (Statusbalken oder sowas) machst du genau so, wie ToeB es sagt. Ich würde allerdings "Line Wert,50,Wert,60" bevorzugen. |
||
- Zuletzt bearbeitet von gameworx am Mi, Aug 04, 2010 15:28, insgesamt einmal bearbeitet
![]() |
Vidde |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Moment des Absendens kam mir auch die Lösung - daher der Nachtrag. Dies löst alle Folgeprobleme.
Ich bedanke mich für den Denkanstoß. |
||
Gern der Zeiten gedenk ich, als alle Glieder gelenkig - bis auf eins. Diese Zeiten kehren nie wieder, steif sind nun alle Glieder - bis auf eins. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group