Threaded-Draw

    • Dll

      Threaded-Draw

      Guten Abend,

      hiermit möchte ich mein zweites DLL-Projekt präsentieren:

      Threaded-Draw



      Der GM kennt bekanntermaßen kein Multi-Threading. D.h. immer wenn eine zeitaufwendige Funktion oder eine Schleife grad ausgeführt wird, steht zwangsläufig alles andere still. Dies ist zum Beispiel der Fall wenn man show_message Funktionen benutzt aber auch beim laden von externen Ressourcen oder beim Speichern von Dateien, etc.
      Diese DLL soll darum möglichst einfach aushelfen indem sie ermöglicht z.B. lade-Animationen, etc mit nur zwei Funktionen zu aktivieren. Sie kann damit auch selbstständig den cursor-Sprite ersetzen.

      Famous hat hier: GEX Desktop Widget (0.4 + IDE 0.3.2) + Snow schon einmal eine viel komplexere Umsetzung der Sache entwickelt. Wer diese Funktionalität braucht ist damit besser beraten.

      Die hier ermöglicht aber ebenfalls problemlos animationen und kann sowohl externe Strips (.png Datei mit allen Einzelbidlern aneinandergereiht) als auch Sprites direkt aus dem Ressourcen Baum im GM verwenden. Beides inklusive Alpha-Kanal und color-blending.
      Des weiteren bleiben die Grafiken auch immer auf der Ebene des GM-Fensters und wenn gewollt, wird die Grafik bzw. Animation auch an die Maus oder dem Fenster geheftet.


      Die Quell-Dateien stehen diesmal ebenfalls offen. Allerdings unkomentiert, sorry. Übrigens muss die Datei stb_image.c in den include-Ordner eurer Programierumgebung oder im Linker vermerkt werden. Die Datei stammt von hier und stellt ein Skript zum laden von png-Dateien bereit: nothings.org/


      Anmerkungen:
      - Es kann manchmal passieren dass beim beenden das Programm, dieses blockiert. Woran das liegt kann ich leider nicht sagen. Es passiert auch bei weitem nicht immer... Muss irgendwas mit den geöffneten threads zutun haben aber soweit mein Wissen reicht, werden diese bereits korekt beendet...

      - Wenn man eigene PNG-Dateien verwenden will, gibt es ein Problem. Das Lade-Skript funktioniert nicht mit allen Programmen (Gimp geht, Photoshop geht aber Paint (von Win7) sowie Paint Shop Pro gehen nicht...), sehr wohl aber mit dem Editor im GM! Also am besten seine PNGs in den Sprite-Editor des Game Makers laden und einfach neu abspeichern (als PNG).


      So, hoffe jemand findet Verwendung dafür :)
      Über feedback zum code oder zur DLL selbst würde ich mich natürlich freuen.
      Dateien

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DragonGamer“ ()