Wenn ihr ordentlich Disco wollt, macht das hier
( ESC beenden )
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <timers.au3>
#include <misc.au3>
$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]Global $ballpos1=@DesktopWidth/2
Global $ballpos2=@DesktopHeight/2
Global $BewegungSenkrecht=Random(5, 7, 1)
Global $BewegungWagrecht=Random(5, 7, 1)
Global $Speed=10
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $hGui = GUICreate("Rahmen", @DesktopWidth, @DesktopHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hGui, 0xABCDEF, 255)
GUISetState()
Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
$Pinsel = _GDIPlus_PenCreate(0xFF0000FF, 20)
Global $vanish = _GDIPlus_PenCreate(0xFF000000, 20)
$t1 = _Timer_SetTimer(0, 20, "move")
$begin=TimerInit()
AdlibRegister( "_check", 50 )
[/autoit] [autoit][/autoit] [autoit]While 1
$nmsg=GUIGetMsg()
Switch $nmsg
Case $gui_event_close
Exit
EndSwitch
WEnd
Func _ende()
_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF )
_GDIPlus_PenDispose($Pinsel)
_GDIPlus_PenDispose($vanish)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_ende
Func move($a, $b, $c, $d)
_GDIPlus_GraphicsDrawArc ( $hGraphic, $ballpos1, $ballpos2, 70, 70, 180, 360, $vanish )
$ballpos1+=$BewegungWagrecht * $Speed
$ballpos2+=$BewegungSenkrecht * $Speed
_GDIPlus_GraphicsDrawArc ( $hGraphic, $ballpos1, $ballpos2, 70, 70, 180, 360, $Pinsel )
If $ballpos1 >= @DesktopWidth - 80 And $BewegungWagrecht > 0 Then $BewegungWagrecht = Random(-7, -5, 1)
If $ballpos1 < 10 And $BewegungWagrecht < 0 Then $BewegungWagrecht = Random(5, 7, 1)
If $ballpos2 >= @DesktopHeight - 95 And $BewegungSenkrecht > 0 Then $BewegungSenkrecht = Random(-7, -5, 1)
If $ballpos2 < 30 And $BewegungSenkrecht < 0 Then $BewegungSenkrecht = Random(5, 7, 1)
If _GDIPlus_PenGetColor ( $vanish )=0xFF000000 Then
_GDIPlus_PenSetColor ( $vanish, 0xFFFFFF00 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFFFFFF00 Then
_GDIPlus_PenSetColor ( $vanish, 0xFFFF0000 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFFFF0000 Then
_GDIPlus_PenSetColor ( $vanish, 0xFF00FF00 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFF00FF00 Then
_GDIPlus_PenSetColor ( $vanish, 0xFF000000 )
EndIf
$dif=TimerDiff( $begin )
If $dif>12000 Then
_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF )
$begin=TimerInit()
EndIf
EndFunc ;==>move
Hat fast keine CPU Auslastung! Könnt ihr den ganzen Tag anlassen wenn ihr es Aushaltet