Bildanzeige bei Maus

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TBP1

Betreff: Bildanzeige bei Maus

BeitragMi, Jun 23, 2004 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi! Ich benötige für mein Projekt eine Maus im Menü, muss aber gleichzeitig die Buttons für die Unterprogramme anzeigen. Die Maus, die ich mir jetzt aber erstellt habe wird nach jedem anzeigen wieder von einem schwarzen Kasten gelöscht. Hier ist der Code:
Code: [AUSKLAPPEN]
Graphics 640,480
SetBuffer BackBuffer()
Mauszeiger = LoadImage("Mauszeiger.bmp")
kasten = LoadImage("kasten.bmp")
HidePointer
Repeat
 X2 = MouseX()
 Y2 = MouseY()
 If (X2 <> X1) Or (Y2 <> Y1) Then
  Color 0, 0, 0
  DrawBlock kasten,X1,Y1
  Color 255,0,0
  DrawImage Mauszeiger,X2,Y2
  Flip
  X1=X2
  Y1=Y2
 EndIf
Until GetMouse() = 2

Wisst ihr, was ich verändern muss, damit nicht ständig schwarze Kästen auf den Buttons sind?

sbrog

BeitragMi, Jun 23, 2004 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso benutzt du hidepointer im vollbildmodus ?
Hidepointer wird nur im Fenster benutzt, im Vollbils wird sowieso kein mauszeiger angezeigt
 

Blitzkrieg Bop

BeitragMi, Jun 23, 2004 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, du musst nach Repeat auch CLS schreiben...
Deswegen kommen auch die schwarzen Kästen zustande, wenn die Maus drüber geht...
~ Hey Ho Let's Go ~

TBP1

BeitragMi, Jun 23, 2004 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
@sbrog:
hups Embarassed hab das Programm erst im Fenstermodus laufen lassen und hab Hidepointer woll vergessen.

@Blitzkrieg Bob:
Wenn mit cls den Bildschirm lösche, sind dann nicht auch meine Buttons weg? Ich müsste sie dann ja in der Schleife mit drin haben, ich glaub aber dann reagiert die Maus nicht mehr so schnell(Blitz Basic ist auf einem anderen PC, kann das also nicht so schnell überprüfen).
 

Edlothiol

BeitragMi, Jun 23, 2004 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Sie sind doch in der Schleife drin. Ausserdem, warum sollte dann die Maus langsamer reagieren?
 

Blitzkrieg Bop

BeitragMi, Jun 23, 2004 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Eben...Also, testen und freuen - bitte , danke.
~ Hey Ho Let's Go ~

TBP1

BeitragMi, Jun 23, 2004 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habs ausprobiert. Wenn die Buttons in der Schleife sind, und auch noch ein cls, dann löscht und zeichnet der Pc die Buttons so schnell, das die Maus nicht mehr funktioniert. Mir ist nun aber eine Idee gekommen: man könnte doch den Windows-Zeiger anzeigen lassen und dann von diesem die Koordinaten nehmen, die man braucht für Button-gedrückt abfrage. Wäre das möglich?

BladeRunner

Moderator

BeitragMi, Jun 23, 2004 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
oweh....
junge: wenn du doublebuffering benutzt (wie es ja in deinem Code den anschein hat) kannst du dir die schwarzen kästen sparen. Du malst ja immer das komplette bild neu bevor es angezeigt wird, also musst du deinen mauszeiger auch nicht löschen.

ALSO:
Code: [AUSKLAPPEN]
Graphics 640,480
SetBuffer BackBuffer()
Mauszeiger = LoadImage("Mauszeiger.bmp")
;kasten = LoadImage("kasten.bmp") ;unnötig
;HidePointer
Repeat
 X2 = MouseX()
 Y2 = MouseY()

;hier noch alle buttons einzeichnen lassen.

; If (X2 <> X1) Or (Y2 <> Y1) Then
;  Color 0, 0, 0 ;wieso color. Die bilder haben ja schon ihre "Farbe"
;  DrawBlock kasten,X1,Y1
;  Color 255,0,0
  DrawImage Mauszeiger,X2,Y2
  Flip
  Cls; muss sein damit das "neue" Bild leer ist
;  X1=X2
;  Y1=Y2
; EndIf
Until GetMouse() = 2
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

TBP1

BeitragDo, Jun 24, 2004 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke. Ich hab mir den Code aus einem Buch umgewandelt, deswegen hab ich das wohl nicht erkannt.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group