AsinDesigner verwenden.
Ladevorgang
Bevor eine Grafik geladen wird, überprüft die Engine ob die Grafik mit dem Filenamen bereits im Speicher ist. Beim laden wird der Filename zum Grafikbuffer intern mitgefühert, es passiert daher ein direkter Vergleich mit dem Filenamen.
Ist eine Grafik bereits im Speicher wird intern ein Referenz Zähler erhöht und die alte llgfx_id zurückgegeben.
Die Freigabe erfolgt mit .
Parameter 1: Filename
filename = Pfad der zur ladenden Grafik. Filenamen können Verzeichnisnahmen enthalten. Der Suchpfad beginnt immer mit dem Verzeichnis in dem das Exe Programm liegt, auch wenn über einen link gestartet wird.
| z.B: "/sprite1.png", Suchpfad -> [exedir]/sprite1.png
| "sprite1.png", Suchpfad -> [exedir]/[curdir]/sprite1.png
| "menu/sprite1.png", Suchpfad -> [exedir]/menu/sprite1.png
| "../sprite1.png", Suchpfad -> [exedir]/[curdir]/../sprite1.png
[exedir] = Verzeichnis aus dem das Game gestartet wurde
[curdir] = gesetzt mit llfile_SetCurDir(). ist per default leer
Man kann das Game-Root Verzeichnis nicht verlassen. Mit llfile_SetCurDir() kann man den Suchpfad innerhalb des Root Verzeichnisses verstellen. Siehe dazu llfile() Funktionen.
Parameter 2: Optional LLGFX_COLORKEY flag
Ein COLORKEY flag setzt intern die Colorkeyfarbe automatisch auf die Farbe des linken oberen Pixels der Grafik. Ausserdem wird der Colorkey für den nächsten Blit Aufruf eingeschaltet.
Diese Flag soll Tipparbeit ersparen.
Alternativ kann eine Colorkey wie folgt gesetzt werden:
Parameter 2: Optional LLGFX_CACHE flag
Ein CACHE flag hat folgende Bedeutung: Grundsätzlich ist ein Fehlschlag beim Laden einer Grafik ein Fataler Fehler und führt zu einer MessageBox die anzeigt das eine angeforderte Resource nicht existiert. Wenn es sich aber um keinen Fehler handelt, sondern nur um einen Test ob die Grafik schon geladen wurde, kann man dieses Flag einsetzen. Das Flag bewirkt das eine llgfx_id zurückgegeben wird falls sich die Grafik im Speicher befindet und falls nicht wird einfach eine 0 ID zurückgegeben ohne Fehlerbehandlung.
Returnwert:
Liefert index des Grafikbuffers zurück.
Bei Fehler ist der Returnwert 0.
Clonegfx liefert ein Duplicat in einem eigenen Grafikbuffer. Der Inhalt vom Original Buffer ist kopiert.
Freigabe mit llgfx_ReleaseGfx(). Vermindert internen Referenzzähler. Wird dieser 0, dann wird die Grafik aus dem Speicher gelöscht.
ReleaseGfx per ID
<§t=void llgfx_ReleaseGfx( llgfx_id gfxid );§>
ReleaseGfx per Name
<§t=int llgfx_ReleaseGfx( const char* filename );§>
Return Wert ist 0 bei Erfolg (Grafik gefunden).
llgfx_DeleteGfx()Um eine Grafik zu entfernen, selbst wenn noch darauf Referenziert wird.
Mit AddRef kann man den internen Referenz Zähler erhöhen. Diese Funktion wird benötigt wenn man ein Objekt dupliziert und eine llgfx_id von einem Grafikbuffer weiterreichen will.
Code Schnipsel