Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

MyButton.bi die 2

Uploader:MitgliedMB Interactive Labs
Datum/Zeit:18.10.2010 21:57:21

'*********************************************************************************
'* MyMenu:  Funktion ist es aus eine Grafikdatei, eine funktionierendes Menü für *
'*          ein Spiel zu machen.                                                                *
'*********************************************************************************
'* Copyright by: MB Interactive Labs. 2010.
'*********************************************************************************

'#Include Once "Inc\Grafik\MyGrafik.bi" 'Datei die für das Laden der 2D BMP Datein verantwortlich ist

Type tButton
        ButtonID As Integer     'Abspeichern der ID des Buttons
    SizeX As Integer        'Größe des Bildes Speichern
    SizeY As Integer        'Größe des Bildes Speichern
    PosX As Integer     'Position des Buttons
    PosY As Integer     'Position des Buttons
    Filename As String  'BildName
    Grafik As Any Ptr       'Bildbuffer
End Type

Dim Shared Buttons(1 To 2) As tButton

'Laden der Bilddaten(BMP)
Declare Sub Load_Button()
'Anzeigen der Bilddaten(BMP)
Declare Sub Show_Button()
'Abfragen, ob Mausbutton gedrückt worden ist und wenn ja, in welchen bereich gedrückt worden ist?
Declare Function CheckButtonClick(x As Integer, y As Integer, t As Integer) As Integer
'Löschen des Button
Declare Sub Destroy_Button()



'*********************************************************************************
SUB LoadButtons()
    'Buttons in den Speicher laden
    Dim As Integer breit, hoch
    Dim As Integer ff, i
    FOR i = LBOUND(Buttons) TO UBOUND(Buttons)
        'Ermitteln der Bildabmessungen:
        'Details siehe http://www.freebasic-portal.de/index.php?s=tutorials&id=16
        ff=FREEFILE
        Open Buttons(i).Filename For Input As #ff 'öffne die Datei zum lesen
        Get #ff, 19, breit              'Breite aus der BMP-Datei auslesen
        Get #ff, 23, hoch               'Höhe aus der BMP-Datei auslesen
        Close #ff
        hoch=ABS(hoch)
        With Buttons(i)
            .SizeX = breit
            .SizeY = hoch
            .Grafik = ImageCreate(breit,hoch)
            BLOAD .Filename, .Grafik 'Laden
        End With
    NEXT i
END SUB

SUB ShowButtons()
    'Buttons auf den Bilschirm ausgeben
    DIM AS INTEGER i
    SCREENLOCK
    FOR i = LBOUND(Buttons) TO UBOUND(Buttons)
        With Buttons(i)
        PUT (.PosX,.PosY), .Grafik, PSET
        END WITH
    NEXT i
    SCREENUNLOCK
END SUB

FUNCTION CheckButtonClick(x As Integer, y As Integer, t As Integer) As Integer
    DIM AS INTEGER i
    Do
        SLEEP 1
        If t And 1 Then 'Linke Maustaste gedrückt!
            FOR i = LBOUND(Buttons) TO UBOUND(Buttons)
                With Buttons(i)
                    'Abfrage, ob sich die Maus auf einem Button befindet:
                    IF (x >= .PosX) AND (x <= .PosX+.SizeX) AND (y >= .PosY) AND (y <= .PosY+.SizeY) Then
                        RETURN .ButtonID 'ButtonID zurückliefern
                        EXIT FUNCTION
                    END IF
                END WITH
            NEXT i
        END IF
    Loop
    RETURN 0
END FUNCTION

SUB DestroyButtons
    'Speicher freigeben
    DIM AS INTEGER i
    FOR i = LBOUND(Buttons) TO UBOUND(Buttons)
        If Buttons(i).Grafik <> 0 Then ImageDestroy Buttons(i).Grafik
    NEXT i
END Sub