Prob mit dem Curser im Vollbildmodus

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

DAK

Betreff: Prob mit dem Curser im Vollbildmodus

BeitragMi, Jul 06, 2005 0:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich meinen selbstgebastelten Curser im Vollbildmodus verwende,
bekomme ich immer eine "Schleifspur".
Wenn ich sie mit dem cls Befehl ausgleichen will, löschts mir immer dem ganzen Screen, und ich muss die Bilder neu reinstellen.
Ergebniss: der Bildschirm flackert grauenvoll.
Was kann ich gegen beide probs machen?

skey-z

BeitragMi, Jul 06, 2005 1:06
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du nen mauszeiger verwendest musst du wohl oder übel den Bildschirm löschen
daraus folgt, dass auch in jedem schleifendurchlauf die Bilder gezeichent werde müssen, aber vorsicht, die bilder nicht in, sondern vor der schleife laden.

Das flackern kommt wahrscheinlich daher, dass du nur auf den front buffer schreibst, deshalb nach den grafikeinstellungen:

setbuffer backbuffer()

und am ende der schleife ein:

flip

einbauen, somit schaltest du Doublebuffering ein, also erst wird alles in den "Bildschirmspeicher" geschrieben und durch flip alles auf den Bildschirm gebracht.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Omenaton_2

BeitragMi, Jul 06, 2005 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, du mußt ständig (alle paar Millisekunden) das Bild neu malen und dann am Ende den Mauszeiger darauf malen.
CLS brauchst du überhaupt nicht, das bringt nichts. Das Löschen des Mauszeigens erfolgt mit dem ständigen Übermalen des Hintergrundes.

Alfadur

BeitragMi, Jul 06, 2005 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
mach trotzdem besser cls, erstens tuts nicht weh und zweitens hat man ja nicht immer überall ein hintergrundbild das den kompletten bildschirm bedeckt...
A Cray is the only computer that runs an endless loop in less than four hours.

Lunatix

BeitragMi, Jul 06, 2005 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

CLS brauchst du überhaupt nicht, das bringt nichts. Das Löschen des Mauszeigens erfolgt mit dem ständigen Übermalen des Hintergrundes.

Ha-Ha-Ha!

erstmal nachdenken Exclamation

wenn der hintergrund den zeiger übermalen würde, wäre der zeiger nicht sichtbar Idea Idea Idea

bei 3D kann man ihn weglassen, da er nur FPS zockt(um die 10)
-> renderWorld übermalt nämlich schon die 2D sachen, deswegen muss man text ja auch danach schreiben und dann flippen
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

konstantin

BeitragMi, Jul 06, 2005 11:35
Antworten mit Zitat
Benutzer-Profile anzeigen
JunkProgger hat Folgendes geschrieben:
Zitat:

CLS brauchst du überhaupt nicht, das bringt nichts. Das Löschen des Mauszeigens erfolgt mit dem ständigen Übermalen des Hintergrundes.

Ha-Ha-Ha!

erstmal nachdenken Exclamation

wenn der hintergrund den zeiger übermalen würde, wäre der zeiger nicht sichtbar Idea Idea Idea

bei 3D kann man ihn weglassen, da er nur FPS zockt(um die 10)
-> renderWorld übermalt nämlich schon die 2D sachen, deswegen muss man text ja auch danach schreiben und dann flippen


DU hast nicht nachgedacht. es ging darum, dass es ein hintergrund bild gibt, dass den alten bildschirm sowieso wieder uebermalt.

BlitzBasic: [AUSKLAPPEN]
Repeat
Cls ; kann weggelassen werden, da tileblock sowieso das alte bild ueberschreibt
TileBlock(background, foo, bar)
DrawImage(mouse, MouseX(), MouseY())
Flip
Forever

Alfadur

BeitragMi, Jul 06, 2005 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Ha-Ha-Ha!

erstmal nachdenken

wenn der hintergrund den zeiger übermalen würde, wäre der zeiger nicht sichtbar


denk du mal nach bevor du sachen aus dem zusammenhang reisst. er meinte das der alte mauszeiger vom neuen hintergrund übermalt wird. natürlich muß der neue mauszeiger dann noch gezeichnet werden. wird alles aus dem ersteren satz ersichtlich.

also: erst denken, dann posten.

edit: hu, nich schnell genug .-)
A Cray is the only computer that runs an endless loop in less than four hours.
 

BlackNetrunner

BeitragMi, Jul 06, 2005 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich baue auch gern die Befehle
BlitzBasic: [AUSKLAPPEN]
frametimer=CreateTimer(30)
code...
WaitTimer frametimer

mit ein. Das hilft gegen jegliches flackern (aber Buffer sollte man trotsdem verwenden). Und ausserdem hilft es gegen zu schnelle PCs.
 

DanDreyer

BeitragMi, Jul 06, 2005 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo wir schonmal beim Buffern/Hauptschleifen sind: Der Vollständigkeit halber sollten wir auch noch die Befehle LockBuffer Buffer(), UnlockBuffer Buffer() und SaveBuffer(Buffer(),Datei) erwähnen.
Wenn du irgendwann mal ein Pixelsystem aufsetzen willst, Locke einfach den aktuellen Buffer, mach deine Pixeloperationen und Unlock ihn dann wieder.
Mit SaveBuffer machst du Screenshots des jeweils aktiven Buffers.
http://www.raptor-plus.dl.am

Jack

BeitragDo, Jul 07, 2005 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht das dann auch net mit BlitzBasic: [AUSKLAPPEN]
HidePointer()
und BlitzBasic: [AUSKLAPPEN]
ShowPointer()
(bzw. BlitzBasic: [AUSKLAPPEN]
ShowPointer()
Wink ) Question
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, Jul 07, 2005 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
BB3D BB2D:
showpointer und Hidepointer funktionieren nur mit dem Windows Mauszeiger und das nur im Fenstermodus!

BPlus:
showpointer und Hidepointer funktionieren nur mit dem Windows Mauszeiger, aber auch im Vollbildmodus ohne das es eine Mausspur hinterläßt!
BlitzBasic: [AUSKLAPPEN]
;[Bplus]
Graphics 800,600
ShowPointer
While Not KeyDown(1)
Flip
Wend
End

Bei eigenen erstellten Mauszeiger oder Cursor muß halt das ganze Bild immer neu gezeichnet werden!
...mit Doublebuffering natürlich!
[BB2D | BB3D | BB+]

Jack

BeitragDo, Jul 07, 2005 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut zu wissen Exclamation Laughing
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group