fb:porticula NoPaste
MyButton.bi
Uploader: | MB Interactive Labs |
Datum/Zeit: | 17.10.2010 21:20:16 |
'*********************************************************************************
'* 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
Public:
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
'Funktionen buttonsteuerung
Declare Function Init_Button() 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 Button_Clicked(BX As Integer, BY As Integer, BS As Integer) As Integer
'Löschen des Button
Declare Sub Destroy_Button()
End Type
'*********************************************************************************
Function tButton.Init_Button() As tButton
Dim TempButton As tButton
TempButton.ButtonID = 0000
TempButton.SizeX = 0
TempButton.SizeY = 0
TempButton.PosX = 0
TempButton.PosY = 0
TempButton.Filename = "Default.bmp"
Return TempButton
End Function
Sub tButton.Load_Button()
'Button in den Speicher laden
Dim As Integer breit, hoch
Dim As Integer ff, i
ff=FREEFILE
Open this.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)
this.SizeX = breit
this.SizeY = hoch
this.Grafik = ImageCreate(breit,hoch)
BLoad this.Filename, this.Grafik 'Laden
End Sub
Sub tButton.Show_Button()
Put (this.PosX,this.PosY),this.Grafik,Alpha,RGB(255,255,255)
End Sub
Sub tButton.Destroy_Button()
If this.Grafik <> 0 Then ImageDestroy this.Grafik
End Sub
Function tButton.Button_Clicked(BX As Integer, BY As Integer, BS As Integer) As Integer
'Schritt 1: Überprüfen, ob Linke oder Rechte maustaste gedrückt worden ist?
If (BS = 1) Then
'Schritt 2: Wo wurde geclickt?
IF (BX >= this.PosX) AND (BX <= this.PosX+this.SizeX) AND (BY >= this.PosY) AND (BY <= this.PosY+this.SizeY) Then
Return this.ButtonID
Exit FUNCTION
END If
End If
If (BS = 2) Then
Return 0
Exit Function
End If
End Function