Gdi+ Tutorial [Part 5]

  • So,
    Jetzt hab ich Caratans verbesserungen einbebaut.


    Zitat

    Beispiel bewegliches Viereck(ohne Buffer)

    Zitat

    Beispiel bewegliches Viereck mit Buffer

    Du weisst schon das es nicht nur ein Viereck ist oder ?

    Ich werd dann mal mit Guis weitermachen.

    Das soll aber nicht das Ende des Parts über die Spieleentwicklung sein.

    mfg Ubuntu

  • So Part 5 ist oben. :party:

    Es ist jetzt yxyx mini Tut eingebaut (natürlich verändert)

    Hier mal seine Arbeit (also unverändert) (nochmals Danke dafür :thumbup: )

    Spoiler anzeigen

    Jetzt sieht unser script so aus

    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>

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

    OnAutoItExitRegister("_end")

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

    $Gui = GUICreate("Beispiel", 179, 163, 100,100)
    GUISetState(@SW_SHOW)

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

    _GDIPlus_Startup()

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

    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($Gui) ; erstellt eine Graphic aus dem Fenster $Gui
    $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Image.gif") ; Lädt das Bild Image.gif aus dem ScriptDir Ordner
    _GDIPlus_GraphicsDrawImage($hGraphics, $hImage, 10, 30) ; Zeichnet das geladene Bild $hImage auf die Graphic $hGraphics mit den Kooardinaten $iX = 10 und $iY = 30

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _end();die Exit funktion
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]


    Gut das Bild wird nun auf die Graphic gezeichnet.

    Jetzt zeichnen wir noch einen String dazu
    dafür benötigen wir die Funktion

    [autoit]


    _GDIPlus_GraphicsDrawString($hGraphics, $sString, $iX, $iY[, $sFont = "Arial"[, $fSize = 10[, $iFormat = 0]]])

    [/autoit]


    unbedingt benötigte Parameter:

    [autoit]


    $hGraphics ; die bereits erstellte Graphic
    $sString ; der String der gezeichnet werden soll (entweder als variable oder in "")
    $iX ; die X Kooradinate
    $iY ; die Y Kooradinate

    [/autoit]

    die Zusatzparameter

    [autoit]


    $sFont ; die Schriftart des gezeichneten Strings (Standart: Arial)
    $fSize ; die Schriftgröße (Standart: 10 px)
    $iFormat ; die Formatflags siehe hier *link zu _GDIPlus_GraphicsDrawString* (Standart: 0)

    [/autoit]


    so da wir uns jetz die Funktion _GDIPlus_GraphicsDrawString angesehen haben werden wir diese auch gleich einbauen
    dann sieht unser Script jetzt so aus

    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>

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

    OnAutoItExitRegister("_end")

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

    $Gui = GUICreate("Beispiel", 179, 163, 100,100)
    GUISetState(@SW_SHOW)

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

    _GDIPlus_Startup()

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

    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Image.gif")
    _GDIPlus_GraphicsDrawImage($hGraphics, $hImage, 10, 30)
    _GDIPlus_GraphicsDrawString($hGraphics, "Hallo Welt!", 50, 10) ;Zeichnet den String "Hallo Welt!" auf $hGraphics mit den Kooardinaten $iX = 50 und $iY = 10

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _end();die Exit funktion
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]

    Ich hoffe ich habe hier und da nicht noch ein paar änderungen vergessen. Falls ihr also einen Fehler findet bitte melden.

    Ich hoffe auf Rückmeldung.


    mfg Ubuntu

  • gibt nicht viel zu sagen:
    das tut ist gut (das reimt sich sogar^^), leider aber nur für richtige anfänger, ich selbst wusste eig schon (fast) alles was hier im tut erklärt wird schon!
    aber wie gesagt, für anfänger ist/wäre das super!^^

  • Super verständlich und leicht rübergebracht! ;)

    Hät ich brauchen können, wie ich GDI+ lernen wollte. :)

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Ok verstehe ihr wartet auf die fortgeschrittenen Sachen.
    Dann werd ich die Anfänger geschichten nicht zu lang auswälzen und bald ein paar Tipps und Tricks zeigen. ^^

    mfg Ubuntu

    Ps: Danke für das Lob ;)

  • Schön wär evtl. noch sowas:

    Spoiler anzeigen
    Spoiler anzeigen

    Select
    Case _IsPressed(25) And _IsPressed(26)
    $x -= 2.5
    $y -= 2.5
    Case _IsPressed(25) And _IsPressed(28)
    $x -= 2.5
    $y += 2.5
    Case _IsPressed(27) And _IsPressed(28)
    $x += 2.5
    $y += 2.5
    Case _IsPressed(27) And _IsPressed(26)
    $x += 2.5
    $y -= 2.5
    Case _IsPressed(25)
    $x -= 5
    Case _IsPressed(26)
    $y -= 5
    Case _IsPressed(27)
    $x += 5
    Case _IsPressed(28)
    $y += 5
    EndSelect

    Damit kann man die Figur dann auch nach unten-rechts, oben-links, usw. bewegen ;)

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Genau, aber eigentlich dachte ich diese logik Sachen verstehen sich von selbst.
    Ich wollte nur das Prinzip erklären.


    mfg Ubuntu

  • Bei dem Tutorial endet der Satz

    Code
    Für ersteres brauchen wir erst mal ein Bild, welches ihr zusammen mit dem aktuellen Script


    ins Leere, wo ist der Rest?

  • Nein es endet mit

    Zitat

    Wie ihr sehr kennen wir dieses prinzip schon von _GDIPlus_GraphicsDrawImage.
    Es sollte uns also keine grossen Probleme machen ;)

    :huh:

    mfg Ubuntu

  • Wie ihr sehr kennen wir dieses prinzip schon von _GDIPlus_GraphicsDrawImage.
    Es sollte uns also keine grossen Probleme machen ;)

    Dann darf ich dich bestimmt auf 3 Rechtschreibfehler hinweisen ^^

    Zitat

    Wie ihr seht, kennen wir dieses Prinzip schon von _GDIPlus_GraphicsDrawImage.
    Es sollte uns also keine großen Probleme machen ;)

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Danke habs verbessert.

    Leider schreibe ich oft noch nach alter Rechtschreibung.

    mfg Ubuntu

  • Wir könnten diese ganzen Posts doch in einen Diskusions-Thread verschieben oder so ne Art "verbesserungs" Thread erstellen...
    Das fänd ich persönlich besser ^^

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Bist du für einen seperaten Thread für Verbesserungsvorschläge? 7

    1. Ja (5) 71%
    2. Nein (2) 29%

    Ist mir egal ^^

  • Also bei mir sieht das so aus und für mich fehlt das Ende von dem zweiten Satz.

  • Ok ich werds verbessern das ist aber nicht am Ende.
    Ach ich hatte mich verlesen und gedacht du meinstest das das Tutorial dort endet.

    Danke für den Hinweis.

    mfg Ubuntu