Hallo!
Ich habe für ein freund der sich eine tastatur als Virituelles schlagzeug bauen will (also sone art mobiles schlagzeug ) bzw gebaut hat ein Virtual Drummer gebaut.. Jetzt hab ich es ein bisschen umgeändert,so das es auch menschen ohne modifizierter Tastatur benutzen können!
Hier das Ergebnis:
Spoiler anzeigen
;>>>>>><<<<<<
;>Version 1.02<
;>>>>>><<<<<<
#include <Sound.au3>
#include <GUIConstants.au3>
$hwnd = GUICreate("",640,480,-1,-1,$WS_POPUP,$WS_EX_TOOLWINDOW)
GUICtrlCreatePic("Pics\VD.jpg",0,0,640,480)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00080000 );fade-in
;h=hi-hat
$hi_hat = _SoundOpen(@ScriptDir & "\Sounds\Hi-Hat.wav")
;s=snare
$snare = _SoundOpen(@ScriptDir & "\Sounds\Snare.mp3")
;b=bassdrum
$bassdrum = _SoundOpen(@ScriptDir & "\Sounds\Bassdrum.mp3")
;k=kleine tom (tom1)
$tom1 = _SoundOpen(@ScriptDir & "\Sounds\Tom1.wav")
;g=große tom (tom2)
$tom2 = _SoundOpen(@ScriptDir & "\Sounds\Tom2.wav")
;m=stand tom (tom3)
$tom3 = _SoundOpen(@ScriptDir & "\Sounds\Tom3.wav")
;1=Becken 1
$becken1 = _SoundOpen(@ScriptDir & "\Sounds\Becken1.mp3")
;2=Becken 2
$becken2 = _SoundOpen(@ScriptDir & "\Sounds\Becken2.mp3")
Sleep(1000)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$mainGui = GUICreate("Virtual Drummer - By GtaSpider", 479, 365, 196, 141)
GUISetBkColor(0xFFFFFF)
$bassdrumpic = GUICtrlCreatePic("Pics\BassDrum.jpg", 208, 184, 168, 162, BitOR($SS_NOTIFY,$WS_GROUP))
$snarepic = GUICtrlCreatePic("Pics\Snare.jpg", 352, 112, 120, 85, BitOR($SS_NOTIFY,$WS_GROUP))
$tom1pic = GUICtrlCreatePic("Pics\Tom1.jpg", 147, 80, 90, 65, BitOR($SS_NOTIFY,$WS_GROUP))
$tom2pic = GUICtrlCreatePic("Pics\Tom2.jpg", 251, 40, 90, 65, BitOR($SS_NOTIFY,$WS_GROUP))
$tom3pic = GUICtrlCreatePic("Pics\Tom3.jpg", 251, 112, 90, 65, BitOR($SS_NOTIFY,$WS_GROUP))
$becken1pic = GUICtrlCreatePic("Pics\becken1.jpg", 8, 32, 124, 100, BitOR($SS_NOTIFY,$WS_GROUP))
$becken2pic = GUICtrlCreatePic("Pics\becken2.jpg", 368, 8, 92, 76, BitOR($SS_NOTIFY,$WS_GROUP))
$hi_hatpic = GUICtrlCreatePic("Pics\Hi-hat.jpg", 144, 22, 97, 45, BitOR($SS_NOTIFY,$WS_GROUP))
GUICtrlCreatePic("Pics\GTASpider.jpg", 17, 192, 159, 153, BitOR($SS_NOTIFY,$WS_GROUP))
GUICtrlCreateLabel("By GtaSpider", 17, 160, 159, 30)
GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, 0xFFFFFF)
HotKeySet("h","hi_hat")
HotKeySet("s","snare")
HotKeySet("b","bassdrum")
HotKeySet("j","tom1")
HotKeySet("k","tom2")
HotKeySet("m","tom3")
HotKeySet("1","becken1")
HotKeySet("2","becken2")
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 200, "long", 0x00090000 );fade-out
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func hi_hat()
GUICtrlSetImage($hi_hatpic,"Pics\Hi-hat_used.jpg")
mciSendString("play " & $hi_hat)
If Not WinActive($mainGui) Then
HotKeySet("h")
Send("h")
HotKeySet("h","hi_hat")
EndIf
$hi_hat = _SoundOpen(@ScriptDir & "\Sounds\Hi-Hat.wav")
GUICtrlSetImage($hi_hatpic,"Pics\Hi-hat.jpg")
EndFunc
Func snare()
GUICtrlSetImage($snarepic,"Pics\snare_used.jpg")
mciSendString("play " & $snare)
If Not WinActive($mainGui) Then
HotKeySet("s")
Send("s")
HotKeySet("s","snare")
EndIf
$snare = _SoundOpen(@ScriptDir & "\Sounds\snare.mp3")
GUICtrlSetImage($snarepic,"Pics\snare.jpg")
EndFunc
Func bassdrum()
GUICtrlSetImage($bassdrumpic,"Pics\bassdrum_used.jpg")
mciSendString("play " & $bassdrum)
If Not WinActive($mainGui) Then
HotKeySet("b")
Send("b")
HotKeySet("b","bassdrum")
EndIf
$bassdrum = _SoundOpen(@ScriptDir & "\Sounds\bassdrum.mp3")
GUICtrlSetImage($bassdrumpic,"Pics\bassdrum.jpg")
EndFunc
Func tom1()
GUICtrlSetImage($tom1pic,"Pics\tom1_used.jpg")
mciSendString("play " & $tom1)
If Not WinActive($mainGui) Then
HotKeySet("j")
Send("j")
HotKeySet("j","tom1")
EndIf
$tom1 = _SoundOpen(@ScriptDir & "\Sounds\tom1.wav")
GUICtrlSetImage($tom1pic,"Pics\tom1.jpg")
EndFunc
Func tom2()
GUICtrlSetImage($tom2pic,"Pics\tom2_used.jpg")
mciSendString("play " & $tom2)
If Not WinActive($mainGui) Then
HotKeySet("k")
Send("k")
HotKeySet("k","tom2")
EndIf
$tom2 = _SoundOpen(@ScriptDir & "\Sounds\tom2.wav")
GUICtrlSetImage($tom2pic,"Pics\tom2.jpg")
EndFunc
Func tom3()
GUICtrlSetImage($tom3pic,"Pics\tom3_used.jpg")
mciSendString("play " & $tom3)
If Not WinActive($mainGui) Then
HotKeySet("m")
Send("m")
HotKeySet("m","tom3")
EndIf
$tom3 = _SoundOpen(@ScriptDir & "\Sounds\tom3.wav")
GUICtrlSetImage($tom3pic,"Pics\tom3.jpg")
EndFunc
Func becken1()
GUICtrlSetImage($becken1pic,"Pics\becken1_used.jpg")
mciSendString("play " & $becken1)
If Not WinActive($mainGui) Then
HotKeySet("1")
Send("1")
HotKeySet("1","becken1")
EndIf
$becken1 = _SoundOpen(@ScriptDir & "\Sounds\Becken1.mp3")
GUICtrlSetImage($becken1pic,"Pics\becken1.jpg")
EndFunc
Func becken2()
GUICtrlSetImage($becken2pic,"Pics\becken2_used.jpg")
mciSendString("play " & $becken2)
If Not WinActive($mainGui) Then
HotKeySet("2")
Send("2")
HotKeySet("2","becken2")
EndIf
$becken2 = _SoundOpen(@ScriptDir & "\Sounds\Becken2.mp3")
GUICtrlSetImage($becken2pic,"Pics\becken2.jpg")
EndFunc
Dafür sind natürlich pics und sounds notwendig... die gesamte zip mit allem drum und dran im Anhang!
Mfg Spider
Edit1: Update von 1.00 -> 1.02:
-Wenn taste gedrückt wird wird ein Send gemacht, um komfortabler zu schreiben, aber nur wenn das mainfenster nicht aktiv ist
-kleiner bug entfernt..