problem bei der erstellung von buttons mithilfe von types

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

superSC

Betreff: problem bei der erstellung von buttons mithilfe von types

BeitragSa, März 19, 2011 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
moin moin und hallo ;Begrüßung

ersma, hallo forum, hallo community, ich bin ein neue User. ;Vorwort


Ich habe ein kleines Problem mit meinen Types.

Ich wollte ein kleines Programm zum testen von Buttons schreiben, und schätze ich habe ein gravierenden Fehler begangen ... irgentwo.

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,32,0
SetBuffer(BackBuffer())


Type buttn

Field sx
Field sy
Field ex
Field ey
Field fill
Field Txt$

End Type



button(20,40,120,80,"Button")



While Not KeyHit(1)
;cls


userinput()

Flip
Wend
End


Function userinput()
mx=MouseX()
my=MouseY()

If MouseHit(1) Then
ex=mx+100
ey=my+40
button(mx,my,ex,ey,"button")

EndIf



End Function

Function button(sx,sy,ex,ey,txt$)



button.buttn = New buttn
button\sx=sx
button\sy=sy
button\ex=ex
button\ey=ey
button\txt$=txt$

If ex>=0 And ey>=0 Or ex>=0 Or ey>=0 Then
width=ex-sx
hight=ey-sy
Rect sx,sy,width,hight,1
Else
Rect sx,sy,100,40,1
EndIf

Color 255,255,255

End Function

Function update()

Color 150,150,150

For button=Each buttn
wigth=button\sx-button\ex
hight=button\sy-button\ey
Rect button\sx,button\sy,width,hight
xt=width/2
yt=hight/2
Text xt,yt,button\txt$,1,1
Next

Color 255,255,255

End Function



das ist der gesamte Code.

Mein pc sagt mir beim Starten :"Index variable is not a new variable"

hilfe bitte ;der hilferuf
mfg
superSC ;gruß

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, März 19, 2011 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, dein gravierender Fehler liegt in der For Next Schleife
Habs mal korrigiertCode: [AUSKLAPPEN]
Function update()

Color 150,150,150

   For button.buttn=Each buttn
[BB2D | BB3D | BB+]
 

superSC

BeitragSa, März 19, 2011 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
AWWW fork xD
jetzt seh ichs, danke!
hast mich grad aus der verzweiflung befreit Very Happy

EDIT:

*~* neuer fehler

keine Buttons

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,32,0
SetBuffer(BackBuffer())


Type buttn

Field sx
Field sy
Field ex
Field ey
Field fill
Field Txt$

End Type



button(20,40,120,80,"Button")



While Not KeyHit(1)
Cls


userinput()

update()







Flip
Wend
End



Function userinput()
mx=MouseX()
my=MouseY()

If MouseHit(1) Then
mex=mx+100
mey=my+40
button(mx,my,mex,mey,"button")

EndIf



End Function

Function button(isx,isy,iex,iey,itxt$)



button.buttn = New buttn
button\sx=isx
button\sy=isy
button\ex=iex
button\ey=iey
button\txt$=itxt$

End Function

Function update()

Color 150,150,150

For button.buttn=Each buttn
wigth=button\sx-button\ex
hight=button\sy-button\ey
Rect button\sx,button\sy,width,hight
xt=width/2
yt=hight/2
Color 0,0,0
Text xt,yt,button\txt$,1,1
Next

Color 255,255,255

End Function






Eingeproggt

BeitragSo, März 20, 2011 1:29
Antworten mit Zitat
Benutzer-Profile anzeigen
In der Function "update in diesen Zeilen:

Code: [AUSKLAPPEN]
wigth=button\sx-button\ex
hight=button\sy-button\ey


haben wir 2 Fehler.
Zuerst mal n Tippfehler -> "width".
Und dann noch n Gedankenfehler. Damit errechnest du die negative Abmessungen! Denk mal drüber nach, button\ex ist bei dir immer größer als button\sx.

Vergiss bitte weiters nicht, dass du beim Einzeichnen des Texts an den Koordinaten "xt" und "yt" auch die button-Koordinaten (sx, sy) brauchst, die Breite bzw. Höhe allein bringen dort nichts Wink

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

superSC

BeitragSo, März 20, 2011 1:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ah ja stimmt, hab garnicht drüber nachgedacht ^^

Edit: das mit der breite und der höhe der Buttons und dem Text, ist schon richtig.
der wird in der mitter der Buttons zentriert.
und falls ich nichts falsch mache, ist alles richtig xD

danke für deine Hilfe
mfg

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group