Maus einbinden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Affje

Betreff: Maus einbinden

BeitragMo, März 08, 2004 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

ich muss gleich dazu sagen, ich bin absoluter BB noob!!
deshalb habe ich hier einige fragen:

1. wie baue ich die maus in mein programm ein??
2. wenn ich jetzt ein bild lade, wie kann ich eine funktion einbauen, bei der etwas ausgeführt wird, wenn man drauf klickt (und bei mouseover?), wie geht das?
ich programmiere auch ein bisschen mit delphi und da ist das ne simple mouseover procedure, aber bei BB weiss ich ja nichtmal, wie ich ne maus einbinde *g*

ich danke schonmal im voraus
mfg affje
 

newkev

BeitragMo, März 08, 2004 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würd dir erst mal vorschlagen ein paar tutorials zu lesen
www.robsite.de

oder versuch einfach mal folgendes:

Plot Mousex(),Mousey()

wo bei Mousex(),Mousey() die Koordinaten der maus sind
Signatur? Gibts nich^^
 

Ava

Gast

BeitragMo, März 08, 2004 15:57
Antworten mit Zitat
Die Maus ist bei BB automatisch 'eingebunden'. Du musst nur noch ein Bild an der Position der Maus anzeigen, um dies auch für den Benutzer sichtbar zu machen!

Code: [AUSKLAPPEN]
global mouse_cursor = loadimage(imageFile$)
drawImage mouseX(), mouseY(), mouse_cursor


Hinter dieser 'simplen MouseOver-Prozedur' steckt auch bei Delphi ein wenig mehr, als Dir vielleicht bewusst ist... im Prinzip läuft es bei BB nach dem selben Schema ab (nur das Du es halt selbst schreiben musst).

(Vereinfachtes Beispiel!)
Code: [AUSKLAPPEN]
global image_x = 'x-Position vom Bild'
global image_y = 'y-Position vom Bild'
global image = loadImage(imageFile$)

if mousex()>=image x and mousex()<=image_x + imagewidth(image)
if mousey()>=image y and mousey()<=image_y + imageheight(image)
// mouseOver
else
// mouseNotOver
endif
endif


So, das war jetzt aber auch schon das höchste der Gefühle!
Im Prinzip kann man sich sowas mit n bissel nachdenken nämlich durchaus sehr einfach auch selbst erarbeiten... Rolling Eyes


PS: Der Vorschlag von NewKev ist durchaus beachtenswert - also halt dich am besten dran! Wink
  • Zuletzt bearbeitet von Ava am Mo, März 08, 2004 15:59, insgesamt einmal bearbeitet
 

René Meyer

BeitragMo, März 08, 2004 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Mauskoordinaten fragst Du mit MouseX() und MouseY() ab. An diese Stelle zeichnest du den Mauszeiger als Graphik. (BB hat keinen eingebauten Mauszeiger.)

Bei Punkt 2 prüfst Du einen Zusammenstoß zwischen der Zeigergraphik und dem Bild. Entweder mit Koordinatenvergleich oder speziellen Kollisionsbefehlen wie ImagesCollide().

Hier ist mal ein recht einfaches Programm - 10 Quadrate, und wenn Du eins anklickst, verfärbt es sich für 3 Sekunden.

Code: [AUSKLAPPEN]
; SCHALTER.BB
Graphics 640,480
SetBuffer BackBuffer()
maus = LoadImage("pointer.bmp")
sound = LoadSound("soundfx20.wav")
Dim Quadrate(10,2)

For I=1 To 10
 Quadrate(I,1) = 60 * I-1
 Quadrate(I,2) = Rand(410)
 Quadrate(I,0) = 0
Next

Repeat
 ClsColor 255,0,0
 Cls
 X = MouseX()
 Y = MouseY()
 For I=1 To 10
  If ImageRectOverlap (maus, X,Y, Quadrate(I,1), Quadrate(I,2), 50, 50) And MouseDown(1) And Quadrate(I,0) = 0 Then
   Quadrate(I,0) = MilliSecs()
   PlaySound sound
  EndIf
  If MilliSecs() - 3000 > Quadrate(I,0) Then Quadrate(I,0) = 0
  Color 0,255,0
  If Quadrate(I,0) = 0 Then Color 0,0,255
  Rect Quadrate(I,1), Quadrate(I,2),50,50,1
 Next
 DrawImage maus, X, Y
 Flip
Until KeyHit(1)
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb

D2006

Administrator

BeitragMo, März 08, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
René Meyer hat Folgendes geschrieben:
An diese Stelle zeichnest du den Mauszeiger als Graphik. (BB hat keinen eingebauten Mauszeiger.)


das wär mir neu.

einfach am anfang des programms folgender befehl:

Code: [AUSKLAPPEN]

Showpointer()


MfG

Ctuchik

BeitragMo, März 08, 2004 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
@D2006 Soweit ich weiss funktioniert das nur im Fenster-Modus und nciht mit Vollbild, oder?
 

René Meyer

BeitragMo, März 08, 2004 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das ist der Windows-Mauszeiger. Er ist nur eingeschränkt verwendbar, und das nur im Fenstermodus.
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group