Maus-Klick als bedingung (z.b zum spielstarten)verwenden?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Alkan

Betreff: Maus-Klick als bedingung (z.b zum spielstarten)verwenden?

BeitragDo, Dez 24, 2009 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie erstellt man auf dem bildschirm einen bereich wo wenn man mit der maus drauf klickt dass da
z.b das spiel startet?
MfG
Alkan

Chester

BeitragDo, Dez 24, 2009 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein, dass du aus der Delphi Ecke kommst?

In B3D muss man sich sowas selbst programmieren, da gibt es keinen fertigen Befehl, mit dem man einen Button erstellen kann( außer vllt. mit Draw3D).

Befehltipps:

MouseX, MouseY, MouseHit, ImageRectOverlap

Midimaster

BeitragDo, Dez 24, 2009 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Graphics 800,600
Setcolor 255,0,0
Rect 100,80,200,50

Repeat
If MouseHit(1) Then
If ( MouseX()>100 ) And ( MouseX()< (100+200) ) Then
If ( MouseY()>80) And ( MouseY()< (80+50) ) Then
Print "Getastet !!!"
EndIf
EndIf
EndIf
Until KeyHit(1)

TimBo

BeitragDo, Dez 24, 2009 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
prinzipiell sollte man MouseX() und MouseY() nur einmal pro Mainloop benutzen.

Also am Anfang der Mainschleife
mx = MouseX()
my = MouseY()
mh1 = MouseHit(1)
mh2 = MouseHit(2)

und dann alle Mausbefehle durch die Variablen mx my mh1 mh2 usw. ersetzen.

Grüße
TimBo

Edit: verdaue mal diesen Code, lese ihn gründlich und verstehe ihn.
Wenn du das gemacht hast, werden Buttons kein Problem mehr für dich sein. Smile

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()
Local timer=CreateTimer(60)
Global mx, my, mh1 ; hier macht Global Sinn.

;Farben
Const red = $FF0000
Const weiss = $FFFFFF

;eine normale Variable für das Main Programm
Local klicks=0


Repeat
mx =MouseX()
my =MouseY()
mh1=MouseHit(1)

If MaleButton(100,80,200,50,red) Then klicks=klicks+1

Color 0,0,weiss
Text 0,0,klicks

WaitTimer(timer)
Flip(0):Cls
Until KeyHit(1)


Function MaleButton(x,y,width,height,farbe)
;malen
Color 0,0,farbe
Rect x,y,width,height

;prüfen
If mh1 Then
If mx>x And mx<(x+width)
If my>y And my<(y+height)
Return 1
EndIf
EndIf
EndIf
End Function

Alkan

Betreff: Noch ne Frage

BeitragDo, Dez 24, 2009 23:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie macht man einen Mausklick (an einer bestimmten stellr)worauf das sytem mit dem öffnen
eines anderen images reagiert?
Ich hab dies probiert doch es klappt nicht:
BlitzBasic: [AUSKLAPPEN]
If mh1 Then
If (mx >512-109)And (mx <512)Then
If (my >718-153)And (my <718)Then
DrawImage beenden,0,0
EndIf
EndIf
EndIf

Und vorher hab ich ncoh das eingegeben:
BlitzBasic: [AUSKLAPPEN]
beenden=LoadImage("SYS/menu/beenden.bmp")
Question

TimBo

BeitragDo, Dez 24, 2009 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei einem klick auf den Button setzt du eine Variable auf True oder 1

und dann schaust du
wenn die Variable auf 1 ist dann malst du ansonsten nicht.
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Alkan

Betreff: Äääähhh....nich so ganz kapiert

BeitragDo, Dez 24, 2009 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du mir vieleicht ein beispiel dazu aufschreiben?

TimBo

BeitragDo, Dez 24, 2009 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
nimms als Aufgabe , das schaffst du auch allein Wink

wenn ein Code nicht gehen sollte lad ihn hoch und wir können ihn dann verbessern.
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Alkan

Betreff: Danke!

BeitragDo, Dez 24, 2009 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
OK ich danke euch allen für eure hilfe
MfG
Alkan

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group