Maus Klick

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

BloodiBasic

Betreff: Maus Klick

BeitragMi, Sep 21, 2005 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Also ich weiss nicht wie ich mit der Maus auf z.b. "Spiel starten" klicke hilfe...

Mfg bloodibasic
Ich will Programmieren können... und dann zu Blizzard gehen Smile *lol*

www.diablo-world.jp.pn

Justus

BeitragMi, Sep 21, 2005 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Lern erstmal, deine Fragen vernünftig zu formulieren.

Du musst erst prüfen, ob ein Mausklick erfolgt ist und dann auf eine Kollision zwischen Bild und Mauszeiger prüfen.

Die nötigen Befehle findest du auf http://www.blitzbase.de
 

Blitz-Coder

BeitragMi, Sep 21, 2005 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
@Justus: Reg dich doch nicht auf, er konnte es halt nicht genau ausdrücken
bleib ruhig jeder hat mal angefangen Wink




Hm... du meinst Sicher verschiedene Menü Punkte die man Anklicken kann?
_______________________________
>>>> Update! <<<<
>>>>>>> <<<<<<<
>>>>>>>>> <<<<<<<<<<
>>>>>>>>>>[RD-Ware]<<<<<<<<<<
>>>>>> www.rd-ware.de.vu <<<<<<<
________________________________

sirokuhl

BeitragDo, Sep 22, 2005 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
If MouseHit(1) Then
If ImageRectCollide(button,buttonx,buttony,0,MouseX(),MouseY(),1,1) Then
Goto spiel
EndIf
EndIf
 

c64

BeitragDo, Sep 22, 2005 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
wie sirokuhl schon geschrieben hat so funnzt das schon Aber ,
wenn du nun mehrere mousHit abfragen hast würde ich vorher eine
Varable dafür festlegen oder eine kleine Function schreiben.

Weil wenn du in deinem Programm zb. im startmenue einmal
ein MouseHIT abfragst würde es nicht funzzen da die Mouse Ja nicht mehr
HITed sondern DOWN ist .


Diese function Brauchst du nur einmal mit jeden programmdurchlauf
aufrufen.

(is nur n Beispiel hab ich hier geschrieben, sollte aber funzzen !!)

Code: [AUSKLAPPEN]


global Mbtn_left
global Mbtn_right
global Mbtn_center 'WHEEL


const HIT     =1
const DOWN =2

function control_MOUSE()

 MBTN_LEFT     = FALSE
 MBTN_RIGHT  = FALSE
 MBTN_CENTER= FALSE


 if mouseDOWN(1) MBTN_LEFT=DOWN
 if     mouseHIT(1) MBTN_LEFT=HIT

 if mouseDOWN(2) MBTN_right=DOWN
 if     mouseHIT(2) MBTN_right=HIT

 if mouseDOWN(3) MBTN_center=DOWN
 if     mouseHIT(3) MBTN_center=HIT


endfunction

SpionAtom

BeitragSo, Sep 25, 2005 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht hilft das

Code: [AUSKLAPPEN]

Global mouse_x, mouse_y


   Type Button
      Field n      ;Nummer
      Field t      ;Typ
      Field x      ;Pos-X
      Field y      ;Pos-Y
      Field w      ;Breite
      Field h      ;Höhe
      Field c      ;Klickstatus
   End Type
   
   Global b.Button
   
   
   
   b = New Button
      b\n = 1
      b\t = 0
      b\x = 300
      b\y = 400
      b\w = 50
      b\h = 50
      b\c = 0


   b = New Button
      b\n = 2
      b\t = 1
      b\x = 100
      b\y = 100
      b\w = 200
      b\h = 50
      b\c = 0
   



   Graphics 800, 600, 16, 2
   SetBuffer BackBuffer()
   




   Repeat
   
      mouse_x = MouseX()
      mouse_y = MouseY()
   
   
   
      updateButtons()
      If ButtonClicked(1) Then ende = 1
      If ButtonClicked(2) Then  texti = 1 - texti
            
      


   
      Cls
      drawButtons()
      If texti Then Text 105, 105, "geklickt"
      Text 300, 460, "Ende"
      Flip()
   
   
   Until KeyDown(1) Or ende









;Diese Function ermittelt, ob ein bestimmter Knopf geklickt wurde
Function ButtonClicked(num)
   For b = Each Button
      If b\n = num And b\c = 3 Then Return True
   Next
   Return False
End Function



;Diese Funktion aktualisiert den Klickstatus der Knöpfe
Function updateButtons()
   For b = Each Button
   b\c = clickedInRect(b\c, b\x, b\y, b\x + b\w, b\y + b\h)
   Next
End Function


;Diese Funktion zeichnet ale Knöpfe nach Typ und Klickstatus
Function drawButtons()
   For b = Each Button
      Select b\t
         Case 0
            Rect b\x, b\y, b\w, b\h, 0
            Rect b\x, b\y, b\w, b\h, 0
             Rect b\x, b\y, b\w, b\h, 0
      
         Case 1
            If b\c = 0 Then Rect b\x, b\y, b\w, b\h, 0
            If b\c = 1 Then Rect b\x-1, b\y-1, b\w+2, b\h+2, 0
            If b\c = 2 Then Rect b\x+1, b\y+1, b\w-2, b\h-2, 0
            If b\c = 3 Then Rect b\x, b\y, b\w, b\h, 1
      End Select
   Next
End Function


;Diese Funktion prüft, ob die Maus sich innerhalb des angegebenen Rechtecks befindet und liefert
;entsprechend true oder false zurück
Function mouseInRect (x1, y1, x2, y2)
   If mouse_x < x1 Then Return False
   If mouse_x > x2 Then Return False
   If mouse_y < y1 Then Return False
   If mouse_y > y2 Then Return False
   Return True
End Function


;Diese Funktion prüft, ob die Maus sich in einem Feld befindet(1), ob ein Mausknopf gedrückt ist(2) und
;ob der Mausknopf losgelassen wurde(3) (also, ob geklickt wurde)
Function clickedInRect (status, x1, y1, x2, y2, t = 1)
   If mouseInRect(x1, y1, x2, y2) Then
   
      If status = 0 Then
         If MouseDown(t) = 0 Then Return 1
         Return 0
      End If
      
      If status = 1 Then
         If MouseDown(t) = 1 Then Return 2
         Return 1
      End If
      
      If status = 2 Then
         If MouseDown(t) = 0 Then Return 3
         Return 2
      End If
      
   End If
   Return 0
End Function
 

Florian

BeitragSo, Sep 25, 2005 9:55
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]




Const Ordner_Konnte_Nicht_auslesen_Werden=2
Const COrdner=2
Const CDatei=1

Type DateiListeTyp
Field Ordner$
Field Dateiname$
Field Erweiterung$
End Type

Type TSchalter
Field Bezeichnung$
Field AlternativeBezeichnung$
Field BezeichnungFarbe

Field transparent

Field X,Y
Field XZ,YZ
Field X2,Y2

Field Image
Field Sound

Field Status
Field Name$
Field Wert
End Type

Type TButton
Field Name$
Field Image
Field transparent
Field ImageMaske
Field LadenAbBild

Field Breit,Hoch

Field DateiName$

End Type



Global Schalter.TSchalter
Global Button.TButton
Global DateiListe.DateiListeTyp

Global SchalterSchrift
Global SchalterSchriftName$

Global MausImage
Global MausImageNr
Global MausDatei$
Global MausBreit
Global MausHoch

Global ChannelID_Schalter

Global AktionSchalterWert
Global AktionSchalterName$

Global MausUeberSchalterWert
Global MausUeberSchalterName$

Inst_Schalter \"Arial\",28,\"pointer.bmp\",11,19

CreateButton \"Abbrechen.bmp\",\"Abbrechen\",160,39

CreateButton \"Loeschen.bmp\",\"Löschen\",160,39

LoadButton \"OK.Button\"


CreateSchalter 100,100,\"Abbrechen\",\"\",\"Abbruch.wav\",\"Abbrechen\",1
CreateSchalter 100,150,\"OK\",\"\",\"OK.wav\",\"OK\",2
CreateSchalter 100,200,\"Löschen\",\"\",\"loeschen.wav\",\"Löschen\",3

CreateSchalter 0,200,\"\",\"Start\",\"OK.wav\",\"Start\",4,farbe(255,255,0)

;SaveButton \"OK\",\"OK.Button\"

savebutton \"Abbrechen\"
savebutton \"Löschen\"

Timer=CreateTimer(30)
ClsColor 0,0,255
HidePointer
Repeat
Cls
UpdateSchalter
Select AktionSchalterName$
End Select
Reset_Schalter
WaitTimer Timer
Forever

Function CreateSchalter(X,Y,ButtonName$,Bezeichnung$,SoundDatei$,Namne$,Wert,BezeichnungFarbe=255*255*255,AlternativeBezeichnung$=\"\")
If Len(AlternativeBezeichnung$)>0 Then
If Len(Bezeichnung$)>0 Then
AlternativeBezeichnung$=Bezeichnung$
Else
If Len(ButtonName$)>0 Then
AlternativeBezeichnung$=ButtonName$
Else
Return False
End If
End If
End If

ButtonName$=Upper$(ButtonName$)
For Button=Each TButton
If ButtonName$=Upper$(Button\Name$) Then
NewSchalter X,Y,Button\Image,Bezeichnung$,Button\transparent,LoadSound(SoundDatei$),Namne$,Wert,BezeichnungFarbe,AlternativeBezeichnung$

Return True
End If
Next

SucheDateien SystemProperty$(\"APPDIR\"),\"Button|\"
For DateiListe=Each DateiListeTyp
InputDatei=ReadFile(DateiListe\Ordner$+DateiListe\Dateiname$+\".\"+DateiListe\Erweiterung$)
If InputDatei<>0 Then

ButtonVergleichName$=ReadString(InputDatei)

If Upper$(ButtonVergleichName$)=Upper$(ButtonName$) Then
CloseFile InputDatei
LoadButton DateiListe\Ordner$+DateiListe\Dateiname$+\".\"+DateiListe\Erweiterung$
NewSchalter X,Y,Button\Image,Bezeichnung$,Button\transparent,LoadSound(SoundDatei$),Namne$,Wert,BezeichnungFarbe,AlternativeBezeichnung$
Return True
Else
CloseFile InputDatei
End If
End If
Next

NewSchalter X,Y,0,Bezeichnung$,False,LoadSound(SoundDatei$),Namne$,Wert,BezeichnungFarbe,AlternativeBezeichnung$

End Function

Function NewSchalter(X,Y,Image,Bezeichnung$,transparent,Sound,Namne$,Wert,BezeichnungFarbe=255*255*255,AlternativeBezeichnung$=\"\")
If Image=0 And Len(Bezeichnung$)=0 And Len(AlternativeBezeichnung$)=0 Then
Return False
End If

Schalter=New TSchalter

Schalter\Image=Image
Schalter\Sound=Sound

Schalter\Name$=Name$
Schalter\Wert=Wert

Schalter\X=X
Schalter\Y=Y


Schalter\Bezeichnung$=Bezeichnung$
Schalter\BezeichnungFarbe=BezeichnungFarbe

If Len(AlternativeBezeichnung$)=0 Then
Schalter\AlternativeBezeichnung$=Schalter\Bezeichnung$
Else
Schalter\AlternativeBezeichnung$=AlternativeBezeichnung$
End If

If Image=0 Then
Schalter\X2=StringWidth(Schalter\AlternativeBezeichnung$)
Schalter\Y2=StringHeight(Schalter\AlternativeBezeichnung$)
Else
Schalter\X2=ImageWidth(Image)
Schalter\y2=ImageHeight(Image)
End If


Schalter\XZ=Schalter\X2-(Schalter\X2/2)+X
Schalter\YZ=Schalter\Y2-(Schalter\Y2/2)+Y



Return True
End Function

Function Inst_Schalter(Schrift$,SchriftHoch,MausDateiname$,Breit,Hoch)
MausImage=LoadAnimImage(MausDateiname$,Breit,Hoch,0,2)
If MausImage<>\"\" Then
MausDatei$=MausDateiname$
MausBreit =Breit
MausHoch =Hoch
End If

SchalterSchrift=LoadFont(Schrift$,SchriftHoch)
SchalterSchriftName$=Schrift$
SetFont SchalterSchrift
End Function

Function SaveButton(Buttonname$,DateiName$=\"\")
If Len(DateiName$)=0 Then
DateiName$=Buttonname$
End If

If Instr(DateiName$,\".\")=0 Then
DateiName$=DateiName$+\".Button\"
End If

For Button=Each TButton
If Upper$(ButtonName$)=Upper$(Button\Name$) Then

OutputDatei=WriteFile(DateiName$)
If OutputDatei=0 Then
Return False
End If

WriteString OutputDatei,Button\Name$
WriteByte OutputDatei,Button\transparent
WriteInt OutputDatei,Button\ImageMaske
WriteShort OutputDatei,Button\Breit
WriteShort OutputDatei,Button\Hoch



For BildZahl=0 To 2
Buffer=ImageBuffer(Button\Image,BildZahl)
LockBuffer Buffer
For X=0 To Button\Breit-1
For Y=0 To Button\Hoch-1
WriteInt OutputDatei,ReadPixelFast(X,Y,Buffer)
Next
Next
UnlockBuffer Buffer
Next

Return True
End If
Next
Return False
End Function


Function LoadButton(DateiName$)

InputDatei=ReadFile(DateiName$)

If InputDatei=0 Then
Return False
End If



ButtonName$=ReadString(InputDatei)
Buttontransparent=ReadByte(InputDatei)
ButtonImageMaske=ReadInt(InputDatei)
ButtonBreit=ReadShort(InputDatei)
ButtonHoch=ReadShort(InputDatei)


For Button=Each TButton
If Upper$(ButtonName$)=Upper$(Button\Name$) Then
Return False
End If
Next


Button=New TButton

Button\Name$=ButtonName$
Button\transparent=ButtonImageMaske
Button\ImageMaske=ButtonImageMaske
Button\Breit=ButtonBreit
Button\Hoch=ButtonHoch
Button\Dateiname=DateiName$
Button\Image=CreateImage(ButtonBreit,ButtonHoch,3)

For BildZahl=0 To 2
Buffer=ImageBuffer(Button\Image,BildZahl)
LockBuffer Buffer
For X=0 To Button\Breit-1
For Y=0 To Button\Hoch-1
WritePixelFast X,Y,ReadInt(InputDatei),Buffer
Next
Next
UnlockBuffer Buffer
Next
MaskImage Button\Image,GetRed(Button\ImageMaske),GetGreen(Button\ImageMaske),GetBlue(Button\ImageMaske)

CloseFile InputDatei
Return True

End Function



Function CreateButton(DateiName$,Name$,Breit,Hoch,transparent=False,ImageMaske=0,LadenAbBild=0)
Image=LoadAnimImage(DateiName$,Breit,Hoch,LadenAbBild,3)
If Image=0 Then Return False

Button=New TButton
Button\Image=Image
Button\Name$=Name$
Button\Breit=Breit
Button\Hoch=Hoch
Button\transparent=transparent
Button\LadenAbBild=LadenAbBild
Button\DateiName$=DateiName$
Button\ImageMaske=ImageMaske

MaskImage Image,GetRed(ImageMaske),GetGreen(ImageMaske),GetBlue(ImageMaske)
Return True
End Function

Function DeleteButton(ButtonName$)
For Button=Each TButton
If Upper$(ButtonName$)=Upper$(Button\Name$) Then
For Schalter=Each TSchalter
If Button\Image=Schalter\Image Then
Delete Button
Return True
End If
Next
FreeImage Button\Image
Delete Button
Return True
End If
Next
Return False
End Function


Function UpdateSchalter()
MausUeberSchalter
DrawSchalter
DrawMaus
End Function

Function DeleteSchalter2(Name$)
For Schalter=Each TSchalter
If Upper(Schalter\Name$)=Upper$(Name$) Then

If Schalter\Image<>0 Then FreeImage Schalter\Image
If Schalter\Sound<>0 Then FreeImage Schalter\Sound
Delete Schalter

End If
Next
End Function

Function DeleteSchalter(Wert)
For Schalter=Each TSchalter
If Schalter\Wert=Wert Then

If Schalter\Image<>0 Then FreeImage Schalter\Image
If Schalter\Sound<>0 Then FreeImage Schalter\Sound
Delete Schalter

End If
Next
End Function



Function Reset_Schalter()
If ChannelID_Schalter<>0 Then
If ChannelPlaying(ChannelID_Schalter)=True Then
Return False
End If
End If

ChannelID_Schalter=0
AktionSchalterWert=0
AktionSchalterName$=\"\"
Return True
End Function

Function DrawSchalter()
For Schalter=Each TSchalter
If Schalter\Image<>0 Then
If Schalter\transparent=True Then
DrawImage Schalter\Image,Schalter\X,Schalter\Y,Schalter\Status
Else
DrawBlock Schalter\Image,Schalter\X,Schalter\Y,Schalter\Status
End If
If Len(Schalter\Bezeichnung$)>0 Then
ColorI Schalter\BezeichnungFarbe
Text Schalter\XZ,Schalter\YZ,Schalter\Bezeichnung$,True,True
End If
Else
ColorI Schalter\BezeichnungFarbe
Text Schalter\XZ,Schalter\YZ,Schalter\AlternativeBezeichnung$,True,True
End If
Next
End Function

Function MausUeberSchalter()
MausImageNr=0
MausX=MouseX()
Mausy=MouseY()

MausUeberSchalterWert=0
MausUeberSchalterName$=\"\"

MausTaste=MouseDown(1)

For Schalter=Each TSchalter
If Schalter\Image<>0 Then
If Schalter\transparent=True Then
If ImagesCollide(MausImage,Mausx,MausY,0,Schalter\Image,Schalter\X,Schalter\Y,0) And AktionSchalterWert=0 Then
MausImageNr=1
If MausTaste=True Then
Schalter\Status=2

AktionSchalterWert=Schalter\Wert
AktionSchalterName$=Schalter\Name$

Else
Schalter\Status=1

MausUeberSchalterWert=Schalter\Wert
MausUeberSchalterName$=Schalter\Name$

End If
Else
If AktionSchalterWert<>Schalter\Wert Then
Schalter\Status=0
End If
End If
Else
If ImageRectCollide(MausImage,Mausx,MausY,0,Schalter\X,Schalter\Y,Schalter\X2,Schalter\Y2) And AktionSchalterWert=0 Then
MausImageNr=1
If MausTaste=True Then
Schalter\Status=2

AktionSchalterWert=Schalter\Wert
AktionSchalterName$=Schalter\Name$

Else
Schalter\Status=1

MausUeberSchalterWert=Schalter\Wert
MausUeberSchalterName$=Schalter\Name$

End If
Else
If AktionSchalterWert<>Schalter\Wert Then
Schalter\Status=0
End If
End If
End If
Else

If ImageRectCollide(MausImage,Mausx,MausY,0,Schalter\X,Schalter\Y,Schalter\X2,Schalter\Y2) And AktionSchalterWert=0 Then
MausImageNr=1
If MausTaste=True Then
Schalter\Status=2

AktionSchalterWert=Schalter\Wert
AktionSchalterName$=Schalter\Name$

Else
Schalter\Status=1

MausUeberSchalterWert=Schalter\Wert
MausUeberSchalterName$=Schalter\Name$

End If
Else
If AktionSchalterWert<>Schalter\Wert Then
Schalter\Status=0
End If
End If
End If

If Schalter<>Null Then
If Schalter\Status=2 Then
If ChannelID_Schalter=0 Then
If Schalter\Sound<>0 Then
ChannelID_Schalter=PlaySound(Schalter\Sound)
End If
End If
End If
End If
Next
End Function


Function DrawMaus()
DrawImage MausImage,MouseX(),MouseY(),MausImageNr
End Function

Function Upper$(S$)
Slen=Len(S)
If Slen>0 Then
For P=1 To Slen
ASCII=Asc(Mid$(S$,P,1))
If Ascii>96 And Ascii<123 Then
Ascii=Ascii-32
ElseIf Ascii=252 Then
Ascii=220
ElseIf Ascii=228 Then
Ascii=196
ElseIf Ascii=246 Then
Ascii=214
End If
R$=R$+Chr$(ASCII)
Next
Return R$
End If
End Function

Function Farbe(r,g,B)
Return r*$10000 + g*$100 + b
End Function

Function ColorI(I)
Color (I And $FF0000)/$10000,(I And $FF00)/$100,I And $FF
End Function

Function GetRed(I)
Return (I And $FF0000)/$10000
End Function

Function GetGreen(I)
Return (I And $FF00)/$100
End Function

Function GetBlue(I)
Return I And $FF
End Function

Function SucheDateien(Ordner$,Erweiterung$)
If Len(Erweiterung$)>0 Then
If Right$(Erweiterung$,1)<>\"|\" Then
Erweiterung$=Erweiterung$+\"|\"
End If
End If

If Right$(Ordner$,1)<>\"\\" Then
Ordner$=Ordner$+\"\\"
End If
LangErweiterung=Len(Erweiterung$)
OrdnerNr=ReadDir(Ordner$)
If OrdnerNr=0 Then Return Ordner_Konnte_Nicht_auslesen_Werden

Datei$=NextFile$(OrdnerNr)
While Datei$<>\"\"
Select FileType((Ordner$+Datei$))
Case COrdner
If Datei$<>\".\" And Datei$<>\"..\" Then
SucheDateien Ordner$+Datei$,Erweiterung$
End If
Case CDatei
DateiErweiterung$=Mid$(Datei$,Instr(Datei$+\".\",\".\")+1)
DateiName$=Mid$(Datei$,1,Instr(Datei$+\".\",\".\")-1)
If LangErweiterung>0 Then
ErweiterungStimmt=False
For PosErweiterung=1 To LangErweiterung
Select Mid$(Erweiterung$,PosErweiterung,1)
Case \"|\"
If Upper$(TestErweiterung$)=Upper$(DateiErweiterung$) Then
ErweiterungStimmt=True
Exit
End If
TestErweiterung$=\"\"
Default
TestErweiterung$=TestErweiterung$+Mid$(Erweiterung$,PosErweiterung,1)
End Select
Next
TestErweiterung$=\"\"
If TestErweiterung$<>\"\" And Upper$(TestErweiterung$)=Upper$(DateiErweiterung$) Then
ErweiterungStimmt=True
End If
End If
If ErweiterungStimmt=True Or LangErweiterung=0 Then
DateiListe= New DateiListeTyp
DateiListe\Dateiname$=Dateiname$
DateiListe\Ordner$=Ordner$
DateiListe\Erweiterung$=DateiErweiterung$
End If
End Select
Datei$=NextFile$(OrdnerNr)
Wend
End Function





































BlitzBasic: [AUSKLAPPEN]


Type TSchalter
Field transparent

Field X,Y
Field XZ,YZ
Field X2,Y2

Field Image
Field Sound

Field Status
Field Name$
Field Wert
End Type

Global Schalter.TSchalter




Global MausImage
Global MausImageNr
Global MausDatei$
Global MausBreit
Global MausHoch

Global ChannelID_Schalter

Global AktionSchalterWert
Global AktionSchalterName$

Global MausUeberSchalterWert
Global MausUeberSchalterName$


Function NewSchalter(X,Y,Image,transparent,Sound,Namne$,Wert)
If Image=0 And Len(Bezeichnung$)=0 And Len(AlternativeBezeichnung$)=0 Then
Return False
End If

Schalter=New TSchalter

Schalter\Image=Image
Schalter\Sound=Sound

Schalter\Name$=Name$
Schalter\Wert=Wert

Schalter\X=X
Schalter\Y=Y


If Image=0 Then
Return
Else
Schalter\X2=ImageWidth(Image)
Schalter\y2=ImageHeight(Image)
End If


Schalter\XZ=Schalter\X2-(Schalter\X2/2)+X
Schalter\YZ=Schalter\Y2-(Schalter\Y2/2)+Y

Return True
End Function

Function Inst_Schalter(MausDateiname$,Breit,Hoch)
MausImage=LoadAnimImage(MausDateiname$,Breit,Hoch,0,2)
If MausImage<>\"\" Then
MausDatei$=MausDateiname$
MausBreit =Breit
MausHoch =Hoch
End If
End Function


Function UpdateSchalter()
MausUeberSchalter
DrawSchalter
DrawMaus
End Function

Function DeleteSchalter2(Name$)
For Schalter=Each TSchalter
If Upper(Schalter\Name$)=Upper$(Name$) Then

If Schalter\Image<>0 Then FreeImage Schalter\Image
If Schalter\Sound<>0 Then FreeSound Schalter\Sound
Delete Schalter

End If
Next
End Function

Function DeleteSchalter(Wert)
For Schalter=Each TSchalter
If Schalter\Wert=Wert Then
If Schalter\Image<>0 Then FreeImage Schalter\Image
If Schalter\Sound<>0 Then FreeSound Schalter\Sound
Delete Schalter
End If
Next
End Function



Function Reset_Schalter()
If ChannelID_Schalter<>0 Then
If ChannelPlaying(ChannelID_Schalter)=True Then
Return False
End If
End If

ChannelID_Schalter=0
AktionSchalterWert=0
AktionSchalterName$=\"\"
Return True
End Function

Function DrawSchalter()
For Schalter=Each TSchalter
If Schalter\Image<>0 Then
If Schalter\transparent=True Then
DrawImage Schalter\Image,Schalter\X,Schalter\Y,Schalter\Status
Else
DrawBlock Schalter\Image,Schalter\X,Schalter\Y,Schalter\Status
End If
End If
Next
End Function

Function MausUeberSchalter()
MausImageNr=0
MausX=MouseX()
Mausy=MouseY()

MausUeberSchalterWert=0
MausUeberSchalterName$=\"\"

MausTaste=MouseDown(1)

For Schalter=Each TSchalter
If Schalter\Image<>0 Then
If Schalter\transparent=True Then
If ImagesCollide(MausImage,Mausx,MausY,0,Schalter\Image,Schalter\X,Schalter\Y,0) And AktionSchalterWert=0 Then
MausImageNr=1
If MausTaste=True Then
Schalter\Status=2

AktionSchalterWert=Schalter\Wert
AktionSchalterName$=Schalter\Name$

Else
Schalter\Status=1

MausUeberSchalterWert=Schalter\Wert
MausUeberSchalterName$=Schalter\Name$

End If
Else
If AktionSchalterWert<>Schalter\Wert Then
Schalter\Status=0
End If
End If
Else
If ImageRectCollide(MausImage,Mausx,MausY,0,Schalter\X,Schalter\Y,Schalter\X2,Schalter\Y2) And AktionSchalterWert=0 Then
MausImageNr=1
If MausTaste=True Then
Schalter\Status=2

AktionSchalterWert=Schalter\Wert
AktionSchalterName$=Schalter\Name$

Else
Schalter\Status=1

MausUeberSchalterWert=Schalter\Wert
MausUeberSchalterName$=Schalter\Name$

End If
Else
If AktionSchalterWert<>Schalter\Wert Then
Schalter\Status=0
End If
End If
End If
Else

If ImageRectCollide(MausImage,Mausx,MausY,0,Schalter\X,Schalter\Y,Schalter\X2,Schalter\Y2) And AktionSchalterWert=0 Then
MausImageNr=1
If MausTaste=True Then
Schalter\Status=2

AktionSchalterWert=Schalter\Wert
AktionSchalterName$=Schalter\Name$

Else
Schalter\Status=1

MausUeberSchalterWert=Schalter\Wert
MausUeberSchalterName$=Schalter\Name$

End If
Else
If AktionSchalterWert<>Schalter\Wert Then
Schalter\Status=0
End If
End If
End If

If Schalter<>Null Then
If Schalter\Status=2 Then
If ChannelID_Schalter=0 Then
If Schalter\Sound<>0 Then
ChannelID_Schalter=PlaySound(Schalter\Sound)
End If
End If
End If
End If
Next
End Function


Function DrawMaus()
DrawImage MausImage,MouseX(),MouseY(),MausImageNr
End Function

Function Upper$(S$)
Slen=Len(S)
If Slen>0 Then
For P=1 To Slen
ASCII=Asc(Mid$(S$,P,1))
If Ascii>96 And Ascii<123 Then
Ascii=Ascii-32
ElseIf Ascii=252 Then
Ascii=220
ElseIf Ascii=228 Then
Ascii=196
ElseIf Ascii=246 Then
Ascii=214
End If
R$=R$+Chr$(ASCII)
Next
Return R$
End If
End Function

Function Farbe(r,g,B)
Return r*$10000 + g*$100 + b
End Function

Function ColorI(I)
Color (I And $FF0000)/$10000,(I And $FF00)/$100,I And $FF
End Function

Function GetRed(I)
Return (I And $FF0000)/$10000
End Function

Function GetGreen(I)
Return (I And $FF00)/$100
End Function

Function GetBlue(I)
Return I And $FF
End Function

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group