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. HopFail

Beiträge von HopFail

  • HopFail stellt sich vor ;-)

    • HopFail
    • 31. Mai 2010 um 06:54

    Vielen Dank,
    ich hoffe wir werden gut miteinander auskommen :)

  • Free AutoIt Object

    • HopFail
    • 31. Mai 2010 um 06:53

    Also auf jeden Fall war das von H2112, das von EM und das wieder von H2112 ...... nein, von EM!

    ;)

  • Letzte Erinnerung - Die Rache der verlorenen Seelen [2D-RPG]

    • HopFail
    • 30. Mai 2010 um 09:44

    Tu das :)

  • Letzte Erinnerung - Die Rache der verlorenen Seelen [2D-RPG]

    • HopFail
    • 30. Mai 2010 um 09:26

    Ja, also ich finde keine Wände?

  • Maximieren

    • HopFail
    • 30. Mai 2010 um 08:58

    Und anstatt

    [autoit]

    While 1

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

    sleep (100)

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

    WEnd

    [/autoit]


    solltest du folgendes nehmen:

    [autoit]

    While 1
    $msg=GuiGetMsg()
    Switch $msg; wechselt zur Variable $msg
    Case $GUI_EVENT_Close; wenn der Benutzer auf das X klickt (oder Alt+F4)
    ExitLoop; beendet die While-Schleife und somit die GUI
    EndSwitch
    WEnd

    [/autoit]
  • Range um Variable

    • HopFail
    • 28. Mai 2010 um 20:44

    Nein, sorry, habe mich vertan. Ich meine, dass der Wert X-Koordinate der ersten Variable bis zur X-Koordinate der ersten Variable (50 addiert) in einem Wert der X-Koordinate der zweiten Variable liegt (50 addiert).

    Ich habe nicht ganz an das Thema gedacht, tut mir leid.

  • Range um Variable

    • HopFail
    • 28. Mai 2010 um 20:30

    Eben, und Y und Z möchte ich nicht angeben, die sollen ja durch den Wert der Variable ermittelt werden (Y=X To X+20, Z=X To X-20). Verstehst du mich jetzt?

  • Range um Variable

    • HopFail
    • 28. Mai 2010 um 20:19

    Ich versteh aber nicht, warum das jetzt den Wert um die Variable überprüft und nicht einen vorher bestimmten. Denn das will ich ja nicht *verzweifel*

  • Range um Variable

    • HopFail
    • 28. Mai 2010 um 20:11
    Zitat von Ealendil

    Hi,

    da ich die Range um eine Variable auch mal gebraucht habe, kann ich dir folgende Func empfehlen:

    [autoit]


    Func _IsBetween($A, $Min, $Max)
    Return $A >= $Min And $A <= $Max
    EndFunc

    [/autoit]

    Zu deinem Problem:
    Schau dir mal diese Zeile an:

    [autoit]


    If $balloonY = $figurY And $balloonX >= 20 Or $balloonX <= 20 = $figurX Then _GDIPlus_ImageDispose($balloon_red)

    [/autoit]


    LG
    Ealendil

    Alles anzeigen

    Kannst du mir diese Func vielleicht genauer erklären, ich blick da gar nicht durch.
    Und zu deiner letzten Äußerung: Damit befasse ich mich doch schon die ganze Zeit :huh:

  • Range um Variable

    • HopFail
    • 28. Mai 2010 um 20:00

    Danke, aber das klappt nicht :(. Kannst du dir vielleicht das ganze Script anschauen? (Zeile 63)

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)
    OnAutoItExitRegister("_Exit")
    _GDIPlus_Startup()

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

    ; Variablen ============================================================================

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

    Global $iWidth = 500, $iHeight = 600
    Global $iX = 0, $iY = 0
    Global $hBackground = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\background.png")
    Global $balloon_red = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_red.png")
    Global $balloon_green = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_green.png")
    Global $balloon_blue = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_blue.png")
    Global $balloon_yellow = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_yellow.png")
    Global $balloon_pink = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_pink.png")
    Global $figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\figur.png")
    Global $balloonX = 50
    Global $balloonY = 50
    Global $figurX = 200
    Global $figurY = 467
    Global $figurWidth = 60
    Global $figurHeight = 100

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

    ; GUI ============================================================================

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

    $hGUI = GUICreate("TrapTheBalloon",$iWidth,$iHeight,Default,Default)
    $hWnd = WinGetHandle("TrapTheBalloon")
    GUISetState()
    GUISetOnEvent(-3, "_Exit")

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

    ; GDI+ ============================================================================

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    ;Erstmal das normale Grafik-Objekt erstellen.
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic)
    ;Statt uns mit dem normalen Frontbuffer zufrieden zu geben, erstellen wir erstmal eine
    ;Bitmap, mit Bezug auf unser Grafikobjekt.
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    ;Nachdem unser Bitmap erstellt ist, holen wir uns den Graphics Context. Dieser
    ;wird von uns verwendet, um darin zu zeichnen
    _GDIPlus_GraphicsSetSmoothingMode($hBackBuffer, 2)
    _GDIPlus_GraphicsClear($hGraphic)

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

    ; While-Schleife ============================================================================
    GUIRegisterMsg($WM_PAINT, "_WM_PAINT")

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

    While 1

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

    _GDIPlus_GraphicsClear($hBackBuffer)
    ; Superradierer benutzen um alten Backbuffer zu löschen
    _GDIPlus_GraphicsSetSmoothingMode($hBackBuffer, 5)
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hBackground, 0, 0, $iWidth, $iHeight)
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $balloon_red, 50, $balloonY)
    $balloonY += 4
    If $balloonY > $iHeight Then $balloonY = -75
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $figur, $figurX, $figurY)
    If _IsPressed("25") And $figurX >= 5 Then $figurX -= 4
    If _IsPressed("27") And $figurX + 79 <= 495 Then $figurX += 3
    If $balloonY = $figurY And $balloonX >= 20 Or $balloonX <= 20 = $figurX Then _GDIPlus_ImageDispose($balloon_red)
    _WinAPI_RedrawWindow($hWnd, 0, 0,$RDW_INTERNALPAINT)
    ; WM_PAINT wird nur aufgerufen, wenn alle Berechnungen fertig sind!
    ; In WM_PAINT wird selbst nichts berechnet, oder gezeichnet. diese Funktion wird nur das
    ; Bitmap-Objekt in das Grafik-Objekt übertragen.
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $iX, $iY, $iWidth, $iHeight)
    ; _GDIPlus_GraphicsDrawImageRect() überträgt den Backbuffer in den Frontbuffer.
    ; Der erste Parameter ist unser Frontbuffer (Grafik Objekt).
    ; Der zweite ist unsere Bitmap, welche ja als BackBuffer fungiert.
    ; Darauf folgt der Abschnitt den man übertragen will.
    ; i.d.R. ist es 0, 0 für X und Y koordinaten, und die GUI Breite und Höhe für
    ; Width und Height. Kommt natürlich immer drauf an, wie groß euer Grafikobjekt ist,
    ; und ob ihr den vollen Teil zeichnen wollt.
    WEnd

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

    ; Funktionen ============================================================================

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

    Func _WM_PAINT()
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $iX, $iY, $iWidth, $iHeight)
    EndFunc

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

    Func _Exit() ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic) ; Grafikobjekt auflösen
    _GDIPlus_BitmapDispose($hBitmap); Bitmap auflösen
    _GDIPlus_ImageDispose($balloon_red); Bild auflösen
    _GDIPlus_ImageDispose($balloon_green); Bild auflösen
    _GDIPlus_ImageDispose($balloon_blue); Bild auflösen
    _GDIPlus_ImageDispose($balloon_yellow); Bild auflösen
    _GDIPlus_ImageDispose($balloon_pink); Bild auflösen
    _GDIPlus_ImageDispose($hBackground); Bild auflösen
    _GDIPlus_ImageDispose($figur); Bild auflösen
    _GDIPlus_Shutdown() ; GDI+ Engine beenden
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Edit: Ich meine, dass der Wert der Variable sich ja ändert und ich alle Werte haben möchte, die bis 20 größer und kleiner sind als der Wert der Variable.

    Dateien

    TrapTheBalloon.rar 50,19 kB – 434 Downloads
  • Range um Variable

    • HopFail
    • 28. Mai 2010 um 19:46

    Hey,

    wie mache ich eine "Range" um eine Variable? Also es soll folgenden Sinn haben:

    Spoiler anzeigen
    [autoit]

    If $coord1X To $coord1X + 20 Or $coord1X To $coord1X - 20 = $coord2X To $coord2X + 20 Or $coord2X To $coord2X - 20
    Then...

    [/autoit]

    Also 2 Zahlenmengen kleiner und größer als der Wert in der Variable (das oben genannte Beispiel funktioniert nicht, Fehler bei To).

    Edit: Von Ealendil gelöst:

    Funktionierendes Script
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)
    OnAutoItExitRegister("_Exit")
    _GDIPlus_Startup()

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

    ; Variablen ============================================================================

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

    Global $iWidth = 500, $iHeight = 600
    Global $iX = 0, $iY = 0
    Global $hBackground = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\background.png")
    Global $balloon_red = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_red.png")
    Global $balloon_green = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_green.png")
    Global $balloon_blue = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_blue.png")
    Global $balloon_yellow = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_yellow.png")
    Global $balloon_pink = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_pink.png")
    Global $figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\figur.png")
    Global $balloonX = 50
    Global $balloonY = 50
    Global $figurX = 200
    Global $figurY = 467
    Global $figurWidth = 60
    Global $figurHeight = 100
    Global $Check

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

    ; GUI ============================================================================

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

    $hGUI = GUICreate("TrapTheBalloon", $iWidth, $iHeight, Default, Default)
    $hWnd = WinGetHandle("TrapTheBalloon")
    GUISetState()
    GUISetOnEvent(-3, "_Exit")

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

    ; GDI+ ============================================================================

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    ;Erstmal das normale Grafik-Objekt erstellen.
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic)
    ;Statt uns mit dem normalen Frontbuffer zufrieden zu geben, erstellen wir erstmal eine
    ;Bitmap, mit Bezug auf unser Grafikobjekt.
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    ;Nachdem unser Bitmap erstellt ist, holen wir uns den Graphics Context. Dieser
    ;wird von uns verwendet, um darin zu zeichnen
    _GDIPlus_GraphicsSetSmoothingMode($hBackbuffer, 2)
    _GDIPlus_GraphicsClear($hGraphic)

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

    ; While-Schleife ============================================================================
    GUIRegisterMsg($WM_PAINT, "_WM_PAINT")

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

    While 1

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

    _GDIPlus_GraphicsClear($hBackbuffer)
    ; Superradierer benutzen um alten Backbuffer zu löschen
    _GDIPlus_GraphicsSetSmoothingMode($hBackbuffer, 5)
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hBackground, 0, 0, $iWidth, $iHeight)
    if not $Check Then _GDIPlus_GraphicsDrawImage($hBackbuffer, $balloon_red, 50, $balloonY)
    $balloonY += 7
    If $balloonY > $iHeight Then $balloonY = -75
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $figur, $figurX, $figurY)
    If _IsPressed("25") And $figurX >= 5 Then $figurX -= 10
    If _IsPressed("27") And $figurX + 79 <= 495 Then $figurX += 3
    if _IsBetween($balloonY+49, $figurY + 20, $figurY + 30) And _IsBetween($balloonX, $figurX, $figurX + 20) Then $Check = 1
    _WinAPI_RedrawWindow($hWnd, 0, 0, $RDW_INTERNALPAINT)
    ; WM_PAINT wird nur aufgerufen, wenn alle Berechnungen fertig sind!
    ; In WM_PAINT wird selbst nichts berechnet, oder gezeichnet. diese Funktion wird nur das
    ; Bitmap-Objekt in das Grafik-Objekt übertragen.
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $iX, $iY, $iWidth, $iHeight)
    ; _GDIPlus_GraphicsDrawImageRect() überträgt den Backbuffer in den Frontbuffer.
    ; Der erste Parameter ist unser Frontbuffer (Grafik Objekt).
    ; Der zweite ist unsere Bitmap, welche ja als BackBuffer fungiert.
    ; Darauf folgt der Abschnitt den man übertragen will.
    ; i.d.R. ist es 0, 0 für X und Y koordinaten, und die GUI Breite und Höhe für
    ; Width und Height. Kommt natürlich immer drauf an, wie groß euer Grafikobjekt ist,
    ; und ob ihr den vollen Teil zeichnen wollt.
    ToolTip($balloonY & " " & $balloonX & @CRLF & $figurY & " " & $figurX)
    WEnd

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

    ; Funktionen ============================================================================

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

    Func _WM_PAINT()
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $iX, $iY, $iWidth, $iHeight)
    EndFunc ;==>_WM_PAINT

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

    Func _Exit() ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic) ; Grafikobjekt auflösen
    _GDIPlus_BitmapDispose($hBitmap); Bitmap auflösen
    _GDIPlus_ImageDispose($balloon_red); Bild auflösen
    _GDIPlus_ImageDispose($balloon_green); Bild auflösen
    _GDIPlus_ImageDispose($balloon_blue); Bild auflösen
    _GDIPlus_ImageDispose($balloon_yellow); Bild auflösen
    _GDIPlus_ImageDispose($balloon_pink); Bild auflösen
    _GDIPlus_ImageDispose($hBackground); Bild auflösen
    _GDIPlus_ImageDispose($figur); Bild auflösen
    _GDIPlus_Shutdown() ; GDI+ Engine beenden
    Exit
    EndFunc ;==>_Exit

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

    Func _IsBetween($A, $Min, $Max)
    Return $A >= $Min And $A <= $Max
    EndFunc ;==>_IsBetween

    [/autoit]
  • HopFail stellt sich vor ;-)

    • HopFail
    • 28. Mai 2010 um 19:13
    Zitat von GtaSpider

    Hey HopFail, (netter name btw ;) )

    Schön das du zu uns gefunden hast. Viel Spaß hier im Forum.
    Ich habe übrigends auch mit 13 Angefangen - und sie was ich jetzt bin ;) Super-Moderator von der größten deutschen AutoIt Webseite :D

    Gruß
    Max


    Netter Name? Ich habe nur nen Namen für ein Spiel (Urban Terror) gesucht und mir ist der eingefallen (eigentlich ist er seeehr einfallslos).
    Naja, ich hab eher mit 12 mit AutoIt angefangen, aber das spielt ja auch keine Rolle ^^

    Zitat von Ubuntu

    Hallo Hop Fail,
    Wir hatten ja schon öfter miteinander zu tun aber trotzdem ein Herzliches Wilkommen ;)

    mfg Ubuntu


    Danke nochmals für deine Hilfe :)

    An alle (anderen):
    Danke für eure "herzliche" Aufnahme. :)

  • WM-Tippspiel

    • HopFail
    • 28. Mai 2010 um 14:07
    Spoiler anzeigen
    Zitat

    Fehlermeldung

    Es ist ein Fehler aufgetreten, der uns bisher nicht bekannt ist. Eine genaue Fehlermeldung haben wir bereits per E-Mail erhalten. Wir werden uns den Fehler ansehen und ggf. beheben. Bitte versuchen Sie die Operation zu wiederholen. In der Regel tritt ein solcher Fehler nicht wiederholt auf.

    Sollte der Fehler wiederholt auftreten, senden Sie uns bitte eine E-Mail an service@kicktipp.de mit einer möglichst genauen Beschreibung der Schritte, die Sie unternommen haben.

  • Button finden und Klicken

    • HopFail
    • 28. Mai 2010 um 13:56

    Erstmal chillen :)

    Du gehst in deinen [AutoIt-Ordner] (Standard: C:\Program Files\AutoIt3) und gehst auf [Au3Info.exe].
    Falls der Titel des sich öffnenden Fensters mit "(Frozen)" anfängt, drückst du [Strg+Alt+F].
    Dann gehst du auf den Reiter [Control] (ich bin mir nicht sicher, hab es nie gemacht), gehst mit der Maus auf den Button und liest in Au3Info die benötigten Daten aus.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Bilder

    • au3info.png
      • 8,35 kB
      • 196 × 60
    • au3info_win.png
      • 15,13 kB
      • 312 × 472
  • HopFail stellt sich vor ;-)

    • HopFail
    • 28. Mai 2010 um 13:38

    Hey Leute :)

    Nun ja, ich bin vielleicht nicht ganz so neu hier, aber ich möchte mich auch mal vorstellen.
    Meinen Namen möchte ich nicht sagen, das ist mir zu persönlich ;)
    Ich bin 13 Jahre alt (1997), spiele gerne Fußball.
    Ich mache alles Mögliche mit dem Computer (vom Spielen über Coding (AutoIt) bis hin zum Bearbeiten von Bildern und Videos).
    Demzufolge möchte ich mein Abitur machen und Informatik studieren.
    Ich bin eigentlich noch ein Anfänger in Sachen AutoIt und bin gerade dabei, mir GDI+ anzueignen.
    Letztendlich hoffe ich, dass ihr weiterhin eine so tolle Community bleibt und mir dabei helft, AutoIt zu lernen.
    Natürlich bin ich ebenfalls bereit, jeden Neuling zu unterstützen.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Bilder

    • autoit.png
      • 9,98 kB
      • 350 × 100
  • Gdi+ Tutorial

    • HopFail
    • 28. Mai 2010 um 10:15
    Zitat von Ubuntu

    Hallo Leute,
    Ich überlege schon seit längerem ein Gdi Plus Tutorial zu schreiben.
    Dewegen starte ich mal eine Abstimmung.


    Ja, bitte :)

  • Bilder-Galerie

    • HopFail
    • 24. Mai 2010 um 21:12
    Zitat von Cartan12

    Wär nett, wenn du den Code soweit reistellst, das man das ausführen kann...
    Mach die Sache einfacher ^^

    Und bitte mit Spoilern :huh:

  • _Adlib.au3 UDF funktioniert nicht

    • HopFail
    • 24. Mai 2010 um 13:36

    Probier mal das hier:

    http://www.autoitscript.com/forum/index.php?showtopic=83967&view=findpost&p=782294

  • Soundaufnahme

    • HopFail
    • 24. Mai 2010 um 12:30

    [Systemsteuerung > Sounds, Sprachein-/ausgabe und Audiogeräte > Sounds und Audiogeräte > Registerkarte 'Stimme']

    Guck dich da mal ein bisschen um ;)

  • [Hilfe] Start und Stop Button

    • HopFail
    • 24. Mai 2010 um 11:41
    Zitat von volle

    #thema abweichung -.-

    #vote 4 closed

    Hast du dein Bild wegen mir geändert? :D

    Als Threadersteller kannst du auch sagen: "Bitte closen!"

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™