Images in Rectangles zeichnen (Tilemapping)

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    Images in Rectangles zeichnen (Tilemapping)

    Hey Leute,

    Ich bin gerade dabei ein kleines 2D-Spiel zu machen, in dem ich gerne Tilemapping verwenden möchte.
    Jetzt habe ich einen Array aus Rectangles, welche die Tiles darstellen. Um zu testen, ob meine Konstruktion auch wirklich stabil läuft, habe ich die Rectangles mal folgenderweise mit einem Brush ausgefüllt:

    VB.NET-Quellcode

    1. 'tileMap ist der Array, welcher die Tiles beinhaltet:
    2. '1.:
    3. For j = 0 To tileMap.Count - 1
    4. G.FillRectangle(Brushes.Red, tileMap(j))
    5. Next
    6. '2.:
    7. G.FillRectangles(Brushes.Red, tileMap)


    Die zweite Codesequenz war deutlich schneller. (60 FPS bei 50x50 Tiles)
    Allerdings weiß ich nicht, wie ich mit einer dieser beiden Möglichkeiten Images bzw. TextureBrushes (je nachdem was schneller ist) in die Rectangles reinzeichnen soll, ohne direkt eine riesige For-Schleife einzubauen.
    Wäre nett, wenn ihr mir sagen würdet, wie ich das am schnellsten machen kann.

    Schonmal Danke im Voraus
    Auch Dunkelheit kann Erleuchtung bringen...
    Wenn ich das allerdings einbaue, müsste ich eine For-Schleife einbauen, welche für jedes Rectangle diese Funktion aufruft und dann hätte ich bei nur 5x5 Tiles eine Framerate von 10 FPS.
    Auch Dunkelheit kann Erleuchtung bringen...
    Ich hatte zum veranschaulichen der Technik hinter dem Tilemaprendering mal ein Beispielprogramm erstellt, ich schicks dir mal per pn. Ich glaub, daraus kannste auch was lernen.
    @~blaze~
    Ich arbeite auch noch an einem Tutorial, das die Erstellung eines JumpnRuns behandelt, vom Start mitm leeren Projekt über Maps, Rendering, UserInput, Interaktion usw. Das kann aber noch sehr lange dauern, bis das komplett fertig ist. Bisher habe ich um die 20 Seiten nur Text, außerdem muss ich noch das eigentliche Programm optimieren, um den Code möglichst Leistungsoptimiert, übersichtlich und sauber zu machen. Bisher steht ein instabiles JumpnRun, das dafür mir 500fps aufm i5 läuft. Es ist also noch lange nicht fertig. Außerdem sind solche Sachen wie das Tilemaprendering nicht mehr als das Mapsystem von Artentus + zwei For-Schleifen. Das was ich da als "Beispielprojekt" gemacht hatte, ist ein Mapeditor, der veranschaulicht aber auch schon die Interaktion, ohne tausende Zeilen lang zu sein.