Blitz Basic Funktionen in PB
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Thx. Wie muss ich denn das machen, dass das geht?
Re: Blitz Basic Funktionen in PB
Code: Alles auswählen
EnableExplicit
dann die Procedure hinter die Variablendeklaration (mx,...) stellen
und 'Button' global machen.
Win11 x64 | PB 6.20
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Code: Alles auswählen
EnableExplicit
InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(800,600,16,"Buttons by NathanielBlack")
Global Button
Global mb1
Global mx
Global my
mb1 = MouseButton(1)
mx = MouseX()
my = MouseY()
Procedure Button(x,y,w,h,text$)
ExamineMouse()
StartDrawing(ScreenOutput())
Box(x,y,w,h,RGB(255,255,255))
DrawText(x,y,text$)
StopDrawing()
If mx > x And mx < x + w And my > y And my < y + h And mb1 = 1
Button = 1
EndIf
EndProcedure
Repeat
ClearScreen(RGB(0,0,0))
ExamineMouse()
Select Button(500,100,100,20,"Ende")
Case 0
Select Button
Case 2
StartDrawing(ScreenOutput())
DrawText(0,0,"Maus ist im Button")
StopDrawing()
Case 1
End
EndSelect
EndSelect
StartDrawing(ScreenOutput())
Plot(MouseX(),MouseY(),RGB(255,0,255))
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(1)
End
Und es klappt immer noch nicht:( Was ist da denn nun falsch:(
Re: Blitz Basic Funktionen in PB
es wäre IMO schon mal ein guter Ansatz, die Abfrage derNathanielBlack hat geschrieben:Und es klappt immer noch nicht:( Was ist da denn nun falsch:(
Mauskoordinaten sowie des Buttons in die Eventschleife
zu nehmen, anstatt sie nur einmal am Programmstart
durchzuführen.
Grüße ... Kiffi
a²+b²=mc²
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
und dann:D
Re: Blitz Basic Funktionen in PB
joh, keine Ahnung. Bin App-Entwickler und kein GFX & Co - Progger.NathanielBlack hat geschrieben:und dann:D
Das müssten Dir schon die Experten sagen (die scheinen momentan
aber alle ihren Rausch auszuschlafen).
Immerhin hast Du nun schon mal zwei dicke Klopper weniger in
Deinem Code.

Grüße ... Kiffi
a²+b²=mc²
- Shadow-Gamer
- Beiträge: 152
- Registriert: 06.09.2009 13:31
- Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7
Re: Blitz Basic Funktionen in PB
habs mal verbessert
Allerdings hab ich keine Ahnung warum du
nimmst, aber vielleicht hast du noch etwas vor
Allerdings hab ich keine Ahnung warum du
Code: Alles auswählen
Select Button(500,100,100,20,"Ende")
Case 0
Code: Alles auswählen
EnableExplicit
InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(800,600,16,"Buttons by NathanielBlack")
Global Button
Global mb1
Global mx
Global my
Procedure Button(x,y,w,h,text$)
ExamineMouse()
StartDrawing(ScreenOutput())
Box(x,y,w,h,RGB(255,255,255))
DrawText(x,y,text$)
StopDrawing()
If mx > x And mx < x + w And my > y And my < y + h
Button = 2
If mb1 = 0:Else
Button = 1
EndIf
Else
Button = 0
EndIf
EndProcedure
Repeat
ClearScreen(RGB(0,0,0))
ExamineMouse()
mx = MouseX()
my = MouseY()
mb1 = MouseButton(1)
Select Button(500,100,100,20,"Ende")
Case 0
Select Button
Case 2
StartDrawing(ScreenOutput())
DrawText(0,0,"Maus ist im Button")
StopDrawing()
Case 1
End
EndSelect
EndSelect
StartDrawing(ScreenOutput())
Plot(MouseX(),MouseY(),RGB(255,0,255))
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(1)
End
Ich versuche ja nicht faul zu sein. 

-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Wow, thank you!
Ich mach mich Bett ready, aber danke!!!
Ich mach mich Bett ready, aber danke!!!
Re: Blitz Basic Funktionen in PB
Ich bezog mich auf ts-softs Post, als du deine Frage hinterher gestelltNathanielBlack hat geschrieben:Und es klappt immer noch nicht:( Was ist da denn nun falsch:(
hast, dachte ich, die Frage bezieht sich auf EnableExplicit

Win11 x64 | PB 6.20
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Ich versuche grade eine Tilemap zu bauen, doch scheinbar hab eich das was falsch gemacht. Es wäre nett, wenn mich jemand vebessern würde;)
Hier der Code:
Vielleicht habe ich das System noch nicht ganz verstanden:(
Danke im Vorraus,
NathanielBlack
edit:
So geht es ohne Error, es wird aber nichts angezeigt:(:
Hier der Code:
Code: Alles auswählen
InitSprite()
OpenScreen(800,600,16,"Tilemap")
Dim MAPinit.f(5,1)
For i = 1 To 2
LoadSprite(i,"tile"+ Str(i) + ".png")
Next
MAPinit(0,0) = 1
MAPinit(1,0) = 1
MAPinit(2,0) = 1
MAPinit(3,0) = 1
MAPinit(4,0) = 1
MAPinit(5,0) = 1
MAPinit(0,1) = 2
MAPinit(1,1) = 2
MAPinit(2,1) = 2
MAPinit(3,1) = 2
MAPinit(4,1) = 2
MAPinit(5,1) = 2
StartDrawing(ScreenOutput())
For x = 0 To 5
For y = 0 To 1
DisplaySprite(MAPinit(x,y),x,y)
Next
Next
StopDrawing()
FlipBuffers()
Delay(3000)
Vielleicht habe ich das System noch nicht ganz verstanden:(
Danke im Vorraus,
NathanielBlack
edit:
So geht es ohne Error, es wird aber nichts angezeigt:(:
Code: Alles auswählen
InitSprite()
OpenScreen(800,600,16,"Tilemap")
Dim MAPinit.f(5,1)
For i = 1 To 2
LoadImage(i,"tile"+ Str(i) + ".png")
Next
MAPinit(0,0) = 1
MAPinit(1,0) = 1
MAPinit(2,0) = 1
MAPinit(3,0) = 1
MAPinit(4,0) = 1
MAPinit(5,0) = 1
MAPinit(0,1) = 2
MAPinit(1,1) = 2
MAPinit(2,1) = 2
MAPinit(3,1) = 2
MAPinit(4,1) = 2
MAPinit(5,1) = 2
StartDrawing(ScreenOutput())
For x = 0 To 5
For y = 0 To 1
DrawImage(MAPinit(x,y),x,y)
Next
Next
StopDrawing()
FlipBuffers()
Delay(3000)