1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Der_Doc

Beiträge von Der_Doc

  • ebay-Verkauf - Ware mit Garantie

    • Der_Doc
    • 17. Dezember 2009 um 15:00

    Naja er soll aja auch net als Garantiemensch auftreten.
    Ich würde das als Privatperson verkaufen (ohne für Gewährleistungen und Garantieansprüchen) und einfach die Rechnung beilegen.

    MfG
    Der_Doc

  • Mega Array

    • Der_Doc
    • 16. Dezember 2009 um 20:25

    Hast du in der letzten Zeile vor dem _ das Komma vergessen?

    MfG
    Der_Doc

  • Virtuelles Laufwerk

    • Der_Doc
    • 16. Dezember 2009 um 20:16

    Das weis ich net aber legal ist es nicht und deswegen sitzt der Vertreiber auch in Antigua und Barbuda :D

    MfG
    Der_Doc

  • ebay-Verkauf - Ware mit Garantie

    • Der_Doc
    • 16. Dezember 2009 um 20:04

    Bei hochwertigen Waren ist eigentlich nur die Seriennumer auf der Rechnung wichtig.
    Wenn soll er eben sagen ist nen Freund oder was weis ich von dir.

    MfG
    Der_Doc

  • Vista 32bit -> Win7 64bit

    • Der_Doc
    • 16. Dezember 2009 um 19:10

    So wie es die Firma NETAPP bei ihren Filern (Speichersystemen macht)

    MfG
    Der_Doc

  • [spiel] Autoit.de kann nicht bis 100 zählen

    • Der_Doc
    • 16. Dezember 2009 um 19:07

    nhezierd

    MfG
    Der_Doc

  • [spiel] Autoit.de kann nicht bis 100 zählen

    • Der_Doc
    • 16. Dezember 2009 um 18:40

    elf

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 18:31

    So nun ist das alles drin.

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>

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

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

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

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

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

    ; Guierstellung--------------------------
    $gui1 = GUICreate ("Aquarium",(@DesktopWidth), (@DesktopHeight-65),0,0)
    GUISetBkColor(0x0000ff,$gui1)
    $hintergrund = GUICtrlCreatepic("Aqua\bilder\hintergrund.gif",0,0,@DesktopWidth,@DesktopHeight-50)
    $fisch1 = GUICtrlCreatepic("Aqua\bilder\fischrechts1.gif",$fischx,$fischy, 120,100)
    $futter = GUICtrlCreatePic("Aqua\bilder\futter.gif",-200,-200,100,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)
    $fupos = ControlGetPos( "Aquarium", "", $futter)
    $msg = GUIGetMsg()

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

    $erg = _RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+$f1pos[2], $f1pos[1]+$f1pos[3], $fupos[0], $fupos[1], $fupos[0]+$fupos[2], $fupos[1]+$fupos[3])

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

    if $msg = $GUI_EVENT_CLOSE Then Exit
    if $erg = FALSE Then $lauf = 0
    if $erg = TRUE AND $lauf = 0 Then
    msgbox(0,"",$erg)
    $lauf=1
    EndIf

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

    If _IsPressed("01") and $f = 1 Then
    GUICtrlDelete($futter)
    $futter = GUICtrlCreatePic("Aqua\bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    $f = 1
    ElseIf _IsPressed("01") and $f = 0 then
    $futter = GUICtrlCreatePic("Aqua\bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    $f = 1
    Endif

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

    Wend
    ; ---------------------------------------

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

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

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

    Func move_fisch()
    Select
    Case $fischx < 0
    GUICtrlSetImage($fisch1,"Aqua\bilder\fischrechts1.gif")
    $movex = Random(0, 10, 1)
    Case $fischx > @DesktopWidth - 120
    GUICtrlSetImage($fisch1,"Aqua\bilder\fischlinks1.gif")
    $movex = Random(-10, 0, 1)
    EndSelect
    Select
    Case $fischy < 0
    $movey = Random(0, 10, 1)
    Case $fischy > @DesktopHeight - 100
    $movey = Random(-10, 0, 1)
    EndSelect
    $fischx = $fischx + $movex
    $fischy = $fischy + $movey
    GUICtrlSetPos($fisch1, $fischx, $fischy)
    EndFunc
    ; ---------------------------------------

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

    ;noch unwichtig-------------------------
    Func _RectCollision($Rect1X1, $Rect1Y1, $Rect1X2, $Rect1Y2, $Rect2X1, $Rect2Y1, $Rect2X2, $Rect2Y2)
    ; Prog@ndy
    Local Const $tagRECT = "long;long;long;long"
    Local $1 = DllStructCreate($tagRECT)
    Local $2 = DllStructCreate($tagRECT)
    Local $3 = DllStructCreate($tagRECT)
    DllStructSetData($1, 1, $Rect1X1)
    DllStructSetData($1, 2, $Rect1Y1)
    DllStructSetData($1, 3, $Rect1X2)
    DllStructSetData($1, 4, $Rect1Y2)
    DllStructSetData($2, 1, $Rect2X1)
    DllStructSetData($2, 2, $Rect2Y1)
    DllStructSetData($2, 3, $Rect2X2)
    DllStructSetData($2, 4, $Rect2Y2)
    Local $r = DllCall("User32.dll", "int", "IntersectRect", "ptr", DllStructGetPtr($3), "ptr", DllStructGetPtr($1), "ptr", DllStructGetPtr($2))
    If @error Then Return SetError(1, 0, 0)
    Return $r[0] <> 0
    EndFunc ;==>_RectCollision

    [/autoit]

    Aber wieder an den Pfad der Bilder denken.

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 18:24

    Naja es trifft ja mehr wie einmal zu das sich die Rechtecke kreutzen. Aber du möchtest doch bestimmt nur beim ersten Treffer ne Aktion auslösen oder?

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 18:11

    Habe mich wohl geirrt :S

    Spoiler anzeigen
    [autoit]

    $erg = _RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+$f1pos[2], $f1pos[1]+$f1pos[3], $fupos[0], $fupos[1], $fupos[0]+$fupos[2], $fupos[1]+$fupos[3])

    [/autoit]

    Und es sollte bevor das nächste mal TRUE angezeigt wird mindestens einmal Flase kommen.

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:58

    Erstmal ein Update für deine Bildpositionen.

    Spoiler anzeigen
    [autoit]

    $erg = _RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+$f1pos[3], $f1pos[1]+$f1pos[2], $fupos[0], $fupos[1], $fupos[0]+$fupos[3], $fupos[1]+$fupos[2])

    [/autoit]

    Dann sollteste du die Bilder "Rahmen" so eng wie möglich um den Fisch und das Futter legen. soll heissen die Bilder so eng wie möglich ausschneiden.

    So Das Tool findest du im Forum "linke Seite" in der Box Autoit Downloads.

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:49

    Ja die genauen Positionen deiner Bilder mußt du aber selber raus bekommen ;) Das war nur ein Versuch von mir.

    Ein Tip noch:
    wenn du SciTE verwendest, benutze das Tool OrganizeIncludes das wirft überflüssige Includes raus und fügt benötigte ein.

    MfG
    Der_Doc

  • Random bmp Generator

    • Der_Doc
    • 16. Dezember 2009 um 17:45

    Ja nutzlos :rofl: aber ne Abbruchbedingung wäre echt der Hammer und würde das ganze gleich um 20% aufwerten. :rofl:

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:35

    Bei mir schon :)
    Das einzige die Positionen finde ich net so richtig.

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.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 = 10
    ; ---------------------------------------

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

    ; Guierstellung--------------------------
    $gui1 = GUICreate ("Aquarium",(@DesktopWidth), (@DesktopHeight-65),0,0)
    GUISetBkColor(0x0000ff,$gui1)
    $hintergrund = GUICtrlCreatepic("Aqua\bilder\hintergrund.gif",0,0,@DesktopWidth,@DesktopHeight-50)
    $fisch1 = GUICtrlCreatepic("Aqua\bilder\fischrechts1.gif",$fischx,$fischy, 120,100)
    $futter = GUICtrlCreatePic("Aqua\bilder\futter.gif",-200,-200,100,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)
    $fupos = ControlGetPos( "Aquarium", "", $futter)
    $msg = GUIGetMsg()

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

    $erg = _RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+20, $f1pos[1]+20, $fupos[0], $fupos[1], $fupos[0]+20, $fupos[1]+20)

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

    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit

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

    Case $erg = TRUE
    msgbox(0,"",$erg)
    EndSelect
    If _IsPressed("01") and $f = 1 Then
    GUICtrlDelete($futter)
    $futter = GUICtrlCreatePic("Aqua\bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    $f = 1
    ElseIf _IsPressed("01") and $f = 0 then
    $futter = GUICtrlCreatePic("Aqua\bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
    $f = 1
    Endif

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

    Wend
    ; ---------------------------------------

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

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

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

    Func move_fisch()
    Select
    Case $fischx < 0
    GUICtrlSetImage($fisch1,"Aqua\bilder\fischrechts1.gif")
    $movex = Random(0, 10, 1)
    Case $fischx > @DesktopWidth - 120
    GUICtrlSetImage($fisch1,"Aqua\bilder\fischlinks1.gif")
    $movex = Random(-10, 0, 1)
    EndSelect
    Select
    Case $fischy < 0
    $movey = Random(0, 10, 1)
    Case $fischy > @DesktopHeight - 100
    $movey = Random(-10, 0, 1)
    EndSelect
    $fischx = $fischx + $movex
    $fischy = $fischy + $movey
    GUICtrlSetPos($fisch1, $fischx, $fischy)
    EndFunc
    ; ---------------------------------------

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

    ;noch unwichtig-------------------------
    Func _RectCollision($Rect1X1, $Rect1Y1, $Rect1X2, $Rect1Y2, $Rect2X1, $Rect2Y1, $Rect2X2, $Rect2Y2)
    ; Prog@ndy
    Local Const $tagRECT = "long;long;long;long"
    Local $1 = DllStructCreate($tagRECT)
    Local $2 = DllStructCreate($tagRECT)
    Local $3 = DllStructCreate($tagRECT)
    DllStructSetData($1, 1, $Rect1X1)
    DllStructSetData($1, 2, $Rect1Y1)
    DllStructSetData($1, 3, $Rect1X2)
    DllStructSetData($1, 4, $Rect1Y2)
    DllStructSetData($2, 1, $Rect2X1)
    DllStructSetData($2, 2, $Rect2Y1)
    DllStructSetData($2, 3, $Rect2X2)
    DllStructSetData($2, 4, $Rect2Y2)
    Local $r = DllCall("User32.dll", "int", "IntersectRect", "ptr", DllStructGetPtr($3), "ptr", DllStructGetPtr($1), "ptr", DllStructGetPtr($2))
    If @error Then Return SetError(1, 0, 0)
    Return $r[0] <> 0
    EndFunc ;==>_RectCollision

    [/autoit]

    ICH HABE VOR DIE BILDER NOCH AQUA VOR GEMACHT ALSO ACHTUNG!
    müsstest du eben anpassen

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:14

    So meinte ich das :)

    Aber funktioniert es denn jetzt?

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:10

    Also ich breche weg wieso ist denn dein Funktionsaufruf NUR

    [autoit]

    _RectCollision()

    [/autoit]

    Er sollte doch

    [autoit]

    _RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+200, $f1pos[1]+300, $fupos[0], $fupos[1], $fupos[0]+100, $fupos[1]+100)

    [/autoit]


    sein

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:06

    Naja vielleicht solltest du die + Werte mal direkt in die Arrayvariable schreiben.

    Leider weis ich auch net was rauskommen soll bei der Funktion.
    Poste doch einfach mal dein Script.

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 17:01

    Da funktionier nix.!

    Teste mal das. Musst eben nur die Variablen im Aufruf füllen.

    Spoiler anzeigen
    [autoit]

    ; Aufruf
    _RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+200, $f1pos[1]+300, $fupos[0], $fupos[1], $fupos[0]+100, $fupos[1]+100)

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

    ; Funktion
    Func _RectCollision($Rect1X1, $Rect1Y1, $Rect1X2, $Rect1Y2, $Rect2X1, $Rect2Y1, $Rect2X2, $Rect2Y2)
    ; Prog@ndy
    Local Const $tagRECT = "long;long;long;long"
    Local $1 = DllStructCreate($tagRECT)
    Local $2 = DllStructCreate($tagRECT)
    Local $3 = DllStructCreate($tagRECT)
    DllStructSetData($1, 1, $Rect1X1)
    DllStructSetData($1, 2, $Rect1Y1)
    DllStructSetData($1, 3, $Rect1X2)
    DllStructSetData($1, 4, $Rect1Y2)
    DllStructSetData($2, 1, $Rect2X1)
    DllStructSetData($2, 2, $Rect2Y1)
    DllStructSetData($2, 3, $Rect2X2)
    DllStructSetData($2, 4, $Rect2Y2)
    Local $r = DllCall("User32.dll", "int", "IntersectRect", "ptr", DllStructGetPtr($3), "ptr", DllStructGetPtr($1), "ptr", DllStructGetPtr($2))
    If @error Then Return SetError(1, 0, 0)
    Return $r[0] <> 0
    EndFunc ;==>_RectCollision

    [/autoit]

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 16:56

    Ist nur die Frage wieso du in der Funktion ein Array benutzt?

    Eigentlich reicht es doch wenn du im Funktionsaufruf das mit Arrays machst. Davon mal aber das ich jetzt weis was die Funktion machen soll.
    Kollision zweier Rechtecke erkennen. :huh:

    MfG
    Der_Doc

  • RectCollison

    • Der_Doc
    • 16. Dezember 2009 um 16:49

    Was bitte macht die Funktion überhaupt .... mir sagt der Name schon nix

    Mfg
    Der_Doc

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™