You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
3.8 KiB
HTML
72 lines
3.8 KiB
HTML
<!menu>
|
|
|
|
<h2>Grafik Buffer</h2>
|
|
Die Level One Engine verwaltet Grafiken in einem Array. Ein Grafik-Index, <wT>llgfx_id, wird beim Create und Load dem Aufrufer zurückgegeben.
|
|
<§t= GrafikBuffer können erst nach Aufruf von llgfx_SetDisplayMode() erzeugt werden. §>
|
|
Sobald mit <wF>llgfx_SetDisplayMode() der Bildschirm Modus gesetzt und initialisiert ist,
|
|
können Grafikbuffer erzeugt und geblittet werden.
|
|
|
|
SetDisplayMode erzeugt einen DoubleBuffer und legt Standardmässig 4 fixe Buffer in der Größe des Displaymodes an.
|
|
Buffer Index 0 ..... der Backbuffer.
|
|
Buffer Index 1 ..... der Frontbuffer.
|
|
Buffer Index 2 ..... Stretchbuffer 1.
|
|
Buffer Index 3 ..... Stretchbuffer 2.
|
|
<wS>Siehe <wS>llgfx_SetDisplayMode()
|
|
|
|
Die Stretchbuffer werden von der Engine temporär für Zwischen-Blits verwendet.
|
|
Sie können jederzeit verwendet werden, es sollten nur keine Grafiken dort verbleiben
|
|
wegen der Gefahr des Überschreibens.
|
|
|
|
<!h2a=llgfx_LoadGfx(),Grafikresource laden>
|
|
Ladet eine Grafik und erstellt dafür einen Grafikbuffer. Der Buffer hat die Breite und Höhe der Grafik und wird auch mit einer Maske versehen falls die Grafik einen Alpha Kanal besitzt.
|
|
Unterstützte Formate sind für die Beta Version: <wD>PNG
|
|
Zum Konvertieren anderer Formate das Tool <!link=AsinDesigner> verwenden.
|
|
<h3>Ladevorgang</h3>
|
|
Bevor eine Grafik vom Filesystem geladen wird, überprüft die Engine ob die Grafik mit dem Filenamen bereits geladen wurde. Wenn der Filenamen mit einer bereits geladenen Grafik übereinstimmt, dann wird die Nummer des bereits vorhandenen Grafikbuffers zurückgegeben. Es wird intern ein Referenz Zähler erhöht damit bei einer Grafikbuffer Freigabe die üpbrigen Referenzen erhalten bleiben.
|
|
Die Freigabe erfolgt mit <wF><!link=gfxbuffer#llgfx_ReleaseGfx()>.
|
|
|
|
<h3>Parameter 1: Filename</h3>
|
|
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.
|
|
<pre>
|
|
| z.B: "/sprite1.png", Suchpfad -> [exedir]/sprite1.png
|
|
| "sprite1.png", Suchpfad -> [exedir]/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
|
|
</pre>
|
|
Man kann das Game-Root Verzeichnis nicht verlassen. Mit <!link=llfile_SetCurDir()> kann man den Suchpfad innerhalb des Root Verzeichnisses verstellen. Siehe dazu <!link=llfile> Funktionen.
|
|
<h3>Parameter 2: Optional LLGFX_COLORKEY flag</h3>
|
|
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:
|
|
<!rtf=Colorkey_loadflag.rtf>
|
|
|
|
|
|
<h3>Returnwert:</h3>
|
|
Liefert index des Grafikbuffers zurück.
|
|
Bei Fehler ist der Returnwert 0.
|
|
|
|
<!h2a=llgfx_ReleaseGfx(),Grafik freigeben>
|
|
Freigabe mit <wF>llgfx_ReleaseGfx(). Vermindert internen Referenzzähler. Wird dieser 0, dann wird die Grafik aus dem Speicher gelöscht.
|
|
|
|
<h3>ReleaseGfx per ID</h3>
|
|
<§t=<wT>void <wF>llgfx_ReleaseGfx( <wT>llgfx_id <wV>gfxid );§>
|
|
|
|
<h3>ReleaseGfx per Name</h3>
|
|
<§t=<wT>int <wF>llgfx_ReleaseGfx( <wT>const <wT>char* <wV>filename );§>
|
|
Return Wert ist 0 bei Erfolg (Grafik gefunden).
|
|
<!h2a=llgfx_DeleteGfx(),Grafik sofort löschen>
|
|
llgfx_DeleteGfx()Um eine Grafik zu entfernen, selbst wenn noch darauf Referenziert wird.
|
|
|
|
<!h2a=llgfx_AddRef(),Grafik Referenz erhöhen>
|
|
<§t=<wF>llgfx_ReleaseGfx( <wT>llgfx_id <wV>gfxid );§>
|
|
Vermindert internen Referenzzähler. Wird dieser 0, dann wird die Grafik aus dem Speicher gelöscht.
|
|
|
|
|
|
<h2>Code Schnipsel</h2>
|
|
<!rtf=LoadGfx>
|
|
|
|
|