controlmove

  • Hi habt ihr ne idee wie man den fisch bewegen könnte
    wie man sieht klappt es, aber nur sehr verbuggt.
    Hier die pics:
    autoit.de/wcf/attachment/6936/
    Hier der code:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #Include <Misc.au3>

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

    HotKeySet("{ESC}", "ende")

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

    ; Hauptvariablen-------------------------
    $f = 0
    ; ---------------------------------------

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

    ; Guierstellung--------------------------
    $gui1 = GUICreate ("Aquarium",(@DesktopWidth), (@DesktopHeight-65),0,0)
    GUISetBkColor(0x0000ff,$gui1)
    $hintergrund = GUICtrlCreatepic("bilder\hintergrund.gif",0,0,@DesktopWidth,@DesktopHeight-50)
    $fisch1 = GUICtrlCreatepic("bilder\fisch1.gif",200,300,120,100)
    GUISetState (@SW_SHOW)
    ; ---------------------------------------

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

    ; Hauptfunktion des Guis-----------------
    While 1
    $c = GUIGetCursorInfo()
    $f1pos = ControlGetPos ( "Aquarium", "", $fisch1)
    $msg = GUIGetMsg()
    ControlMove("Aquarium", "", $fisch1, $f1pos[0]+1, $f1pos[1]+1)
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    If _IsPressed("01") and $f = 1 Then
    GUICtrlDelete($futter)
    $futter = GUICtrlCreatePic("bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    $f = 1
    ElseIf _IsPressed("01") and $f = 0 then
    $futter = GUICtrlCreatePic("bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    $f = 1
    Endif
    Wend
    ; ---------------------------------------

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

    ; Funktionen-----------------------------
    Func ende()
    Exit
    EndFunc
    ; ---------------------------------------

    [/autoit]
  • ansonsten kommt ja genau das gleiche problem wie beim fisch

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #Include <Misc.au3>

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

    HotKeySet("{ESC}", "ende")

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

    ; Hauptvariablen-------------------------
    ; ---------------------------------------

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

    ; Guierstellung--------------------------
    $gui1 = GUICreate ("Aquarium",(@DesktopWidth), (@DesktopHeight-65),0,0)
    GUISetBkColor(0x0000ff,$gui1)
    $hintergrund = GUICtrlCreatepic("bilder\hintergrund.gif",0,0,@DesktopWidth,@DesktopHeight-50)
    $fisch1 = GUICtrlCreatepic("bilder\fisch1.gif",200,300,120,100)
    $futter = GUICtrlCreatepic("bilder\futter.gif",-100,-100,80,80)
    GUISetState (@SW_SHOW)
    ; ---------------------------------------

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

    ; Hauptfunktion des Guis-----------------
    While 1
    $c = GUIGetCursorInfo()
    $f1pos = ControlGetPos ( "Aquarium", "", $fisch1)
    $msg = GUIGetMsg()
    ControlMove("Aquarium", "", $fisch1, $f1pos[0]+1, $f1pos[1]+1)
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    If _IsPressed("01") Then
    ControlMove("Aquarium", "", $futter, $c[0]-30, $c[1]-30)
    Endif
    Wend
    ; ---------------------------------------

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

    ; Funktionen-----------------------------
    Func ende()
    Exit
    EndFunc
    ; ---------------------------------------

    [/autoit]
    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Zitat

    ka abert kommt doch mal pls zu meinem problem

    man junge das war zu deinem problem. buggs sind probleme und davon hast du genug drin.

    Zitat

    wie man den fisch bewegen könnte?

    is in etwa so ne gute frage wie: wie komme ich von a nach b

    mim auto, zu fuß, mim rad, mit der bahn.

    stell fragen mit denen man was anfangen kann :cursing:

  • Spoiler anzeigen

    <span>&nbsp;</span><blockquote class="wysiwygQuote">&nbsp;ka abert kommt doch mal pls zu meinem problem </blockquote>man junge das war zu deinem problem. buggs sind probleme und davon hast du genug drin.<br><br><span>&nbsp;</span><blockquote class="wysiwygQuote">&nbsp;wie man den fisch bewegen könnte? </blockquote>is in etwa so ne gute frage wie: wie komme ich von a nach b<br><br>mim auto, zu fuß, mim rad, mit der bahn.<br><br>stell fragen mit denen man was anfangen kann&nbsp; <img src="wcf/images/smilies/cursing.png" wcf_src="wcf/images/smilies/cursing.png" alt=":cursing:" title="cursing"> <br><br>

    edit: jo geiler bug, hab ichn mal in nen spoiler gesetzt ^^

  • ich möchte halt das der fisch sozusagen im gui schwimmt also dass seine position sich andauernd verändert

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • sieht zwar noch ziemlich strange aus aber hier schonmal annähernd etwas das dich weiterbringen könnte:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #Include <Misc.au3>

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

    HotKeySet("{ESC}", "ende")

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

    ; Hauptvariablen-------------------------
    $f = 0
    Global $guix, $guiy
    Global $fischx = 200, $fischy = 300, $movex = 10, $movey = 30
    ; ---------------------------------------

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

    ; Guierstellung--------------------------
    $gui1 = GUICreate ("Aquarium",(@DesktopWidth), (@DesktopHeight-65),0,0)
    GUISetBkColor(0x0000ff,$gui1)
    $hintergrund = GUICtrlCreatepic("bilder\hintergrund.gif",0,0,@DesktopWidth,@DesktopHeight-50)
    $fisch1 = GUICtrlCreatepic("bilder\fisch1.gif",$fischx,$fischy, 120,100)
    GUISetState (@SW_SHOW)
    ; ---------------------------------------

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

    AdlibEnable("_Move_Fisch", 20)

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

    ; Hauptfunktion des Guis-----------------
    While 1
    ;~ $c = GUIGetCursorInfo()
    ;~ $f1pos = ControlGetPos ( "Aquarium", "", $fisch1)
    $msg = GUIGetMsg()
    ;~ ControlMove("Aquarium", "", $fisch1, $f1pos[0]+1, $f1pos[1]+1)
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    ;~ If _IsPressed("01") and $f = 1 Then
    ;~ GUICtrlDelete($futter)
    ;~ $futter = GUICtrlCreatePic("bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    ;~ $f = 1
    ;~ ElseIf _IsPressed("01") and $f = 0 then
    ;~ $futter = GUICtrlCreatePic("bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    ;~ $f = 1
    ;~ Endif
    Wend
    ; ---------------------------------------

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

    ; Funktionen-----------------------------
    Func ende()
    Exit
    EndFunc
    ; ---------------------------------------

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

    Func _Move_Fisch()
    Select
    Case $fischx < 0
    $movex = Random(0, 50, 1)
    Case $fischx > @DesktopWidth - 120
    $movex = Random(-50, 0, 1)
    EndSelect
    Select
    Case $fischy < 0
    $movey = Random(0, 50, 1)
    Case $fischy > @DesktopHeight - 100
    $movey = Random(-50, 0, 1)
    EndSelect
    $fischx = $fischx + $movex
    $fischy = $fischy + $movey
    GUICtrlSetPos($fisch1, $fischx, $fischy)
    EndFunc

    [/autoit]