GDIPlus Map-Editor

  • Hallo Liebe Autoit Community,

    Ich wollte gerne einen Map-Editor erstellen ich habe auch schon eine Idee wie das ganze ablaufen soll ich habe eine GUI erstellt ..
    [Blockierte Grafik: http://i.epvpimg.com/1MvGe.png]

    Jetzt würde ich gerne Objekte auf die GUI Legen und später soll den die Map so gespeichert werden

    [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBuffer, $DasObjek, $X_Des_Objekt, $Y_Des_Objekt, $Width_Des_Objekt, $Height_Des_Objekt)

    [/autoit]

    Wie könnte man das machen ? weil die Maps per Hand zu Zeichnen dauert echt lange würde mich über jeden tipp freuen ^^

  • Du kannst mit

    [autoit]

    GUIGetCursorInfo

    [/autoit]

    die Position der Maus auf dem GUI abfragen.
    Dann setzt du die Position in Relation zu den Feldern, das heißt du grenzt jedes Feld auf, z.B., 10x10 Pixel ab, prüfst dann ob X > 10 und < 20 (bsp), und hast damit schonmal welches Feld es ist (nämlich Feld 2 auf X)
    Mit Y gleiches.
    Schau dir vllt auch einen bereits fertigen Map Editor an.
    MfG

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Also der Bereich auf den man Objekte legen kann ist 600 x 600 , ich würde noch gerne wissen wie man die Objekte Zeichnen lässt also auf das Editor Feld !

  • Ich weiß ja nicht wie die Maps aussehen und so, aber ich habs bei meinem so gemacht:

    Erst ein Label erzeugt und dann per GDIPlus mit weiß übergemalt ( das Labal KANN Inhalt, sprich text haben, muss aber nicht ).
    Wenn du jetzt, so wie Xorianator gesagt hat, per GUIGetCursorInfo() guckst ob du auf ein Label gedrückt hast, hast du auch gleich die Position des Labels und kannst darauf dann mit GDIPlus ein Bild zeichnen.

    Du kannst dir auch den Editor von Arengu ( meinem RPG ) angucken, da hab ichs auch so gemacht. ( --> Signatur )

    mfg
    Hauke

  • Hey hauke96, die Idee kam mir ja noch nie :D - Klingt wesentlich schneller als meine Version, zwar Speicher intensiver (auch wenn es ein paar Bytes sind) aber schneller :D

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Zitat

    Ich weiß ja nicht wie die Maps aussehen und so, aber ich habs bei meinem so gemacht:

    Erst ein Label erzeugt und dann per GDIPlus mit weiß übergemalt ( das Labal KANN Inhalt, sprich text haben, muss aber nicht ).
    Wenn du jetzt, so wie Xorianator gesagt hat, per GUIGetCursorInfo() guckst ob du auf ein Label gedrückt hast, hast du auch gleich die Position des Labels und kannst darauf dann mit GDIPlus ein Bild zeichnen.

    Du kannst dir auch den Editor von Arengu ( meinem RPG ) angucken, da hab ichs auch so gemacht. ( --> Signatur )

    mfg
    Hauke

    Danke euch für die Hilfe werde mir den Editor jetzt gleich mal anschauen :)

  • Zitat

    Wenn du willst kannst du dir ja auch mal meinen Map Editor (von meinem 2D RPG) ansehen... Er hat es zwar nie über Version 1.0 geschafft, aber das eigentliche Script ist trotzdem drei mal größer als das eigentliche Spiel.
    Im Anhang des Startposts findest du dem Editor...
    http://www.imagebanana.com/view/6rzwy9z0/md.gif

    Das Gefällt mir sehr weil es noch nicht soviel Code ist habe das Map_Laden in mein Skript mit rein gemacht und den Editor ein bissel umgeschrieben :)