Nur eine Funktion gleichzeitig?

  • Moin,
    Problem: Wenn ich die Funktion Start() starte, führt er, währed er die Funktion ausführt, die Endlosschleife nicht aus, sprich sie pausiert.
    Weiß jemand wo der Fehler liegt?
    Anhang: Skript und erforderliche Bilder.
    Ich freue mich auf eure Antworten! :)

    Spoiler anzeigen
    [autoit]

    HotKeySet("a", "Start")

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Frithjof\Desktop\AutoIt\Fusball\Fussball 1.kxf
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Frithjof\Desktop\AutoIt\Fusball\Ball.JPG", 280, 200, 36, 33)
    $Pic2 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Frithjof\Desktop\AutoIt\Fusball\Ball.JPG", 200, 10, 36, 33)
    GUISetOnEvent($GUI_EVENT_CLOSE , "Beenden")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    While True
    For $X_Position = 150 to 350 step 5
    GUICtrlSetPos ( $Pic2, $X_Position, 10)
    sleep(1)
    Next
    For $X_Position = 350 to 150 step -5
    GUICtrlSetPos ( $Pic2, $X_Position, 10)
    Sleep(1)
    Next
    ContinueLoop
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Beenden()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Start()
    For $Y_Position = 200 to 10 step -5
    GUICtrlSetPos ( $Pic1, 280, $Y_Position)
    sleep (1)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]
  • Das Problem liegt nicht an dir.

    Es liegt an AutoIt. Nämlich da stößt AutoIT anseine grenzen.

    Sprich: Autoit kann nicht 2 oder mehrere Sachen neben einander ausführen, ohne ein 2. Script zu erstellen und dies aus zu führen

    Ich empfehler dir CoProc das ist ein Helfer und es sind viele Funktionen dabei. Sehr nützlich, nur muss man an amfang 2 Funktionen raus nehmen(Opt("RunFatalErrors",1) oder so)

    Mit dieses Teil kann man 2 sachen neben einander ausführen


    MfG
    Mario2323