Seite 1 von 1

Lily Sprite Lib V1.1

Verfasst: 17.09.2006 16:18
von Kekskiller
Lily Sprite Lib (LilySL)

Lily Sprite Lib ist eine Funktionssammlung von Purebasic, die einheitliche Zeichnen- und Effektfunktionen ermöglich. Sie stellt lediglich eine Umformung der doch recht verschiedenen Syntax von Sprites, Sprite3D und Images mit ein paar praktischen Funktionen für Sprite3D dar.

Einbindung: Liegt als *.pbi-Include-Datei vor ( "lilySL.pbi" )
Purebasic-Version: 4.00

Download PDF-Hilfe (96.71 kB):
entfernt

Download ODT-Hilfe für OpenOffice (13.06 kB):
entfernt

Download Include (2.97 kB):
entfernt

Code-Beispiel:

Code: Alles auswählen

OpenScreen(800,600, 32, "Lily test")

Global Dim Res.__lil(8)
Global res$

Macro res1
  res$ + (quote + 
EndMacro
  
Macro res2
  + quote)
EndMacro

res1 "ressources\blueblock.png" res2 ;0
res1 "ressources\greenblock.png" res2 ;1
res1 "ressources\goldblock.png" res2 ;2
res1 "ressources\purpleblock.png" res2 ;3
res1 "ressources\redblock.png" res2 ;4
res1 "ressources\whiteblock.png" res2 ;5

res1 "ressources\emitterhor.png" res2 ;6
res1 "ressources\emitterver.png" res2 ;7
res1 "ressources\mouse.png" res2 ;8

;1 element mehr, da die 0 mitzählt!
LILlineload(@Res(0), 9, res$, #LIL3D|#LILSIZETOTEX, #PB_Sprite_AlphaBlending, #LIL3D)

For Z=0 To 8
  Debug "sprite size #" + Str(Z) + ": " + Str(Res(Z)\width3D) + "x" + Str(Res(Z)\height3D)
Next

ClearScreen(0)

Start3D()
  LILdraw(@Res(8), 0, 0, #LILAUTO)
Stop3D()

FlipBuffers(1)
Delay(1000)
Ihr könnt innerhalb eines einzigen Zeichnen-Befehles sehr viele Sachen unterbringen, näheres dazu steht in der Hilfe (ein Blick lohnt sich!).

Dachte mir, für den einen oder anderen könnte es ganz nützlich sein <) . Vor allem, wenn man viel mit Sprites hantiert und sich ein wenig Schreibarbeit und Fehlerkontrolle ersparen will.

Update auf V1.1

Verfasst: 29.09.2006 20:24
von Kekskiller
Ich hab ein kleines Update gemacht, sind ein paar neue Sachen hinzugekommen:

Code: Alles auswählen

1.1
- Mehrere Fehler behoben, die Parameter falsch verwendeten
- #LILRESIZEORIGIN hinzugefügt
- #LILDRAWORIGINX hinzugefügt
- #LILDRAWORIGINY hinzugefügt
- #LILRESIZEORIGIN hinzugefügt
- #LILXYCENTER hinzugefügt
- #LILXYORIGIN hinzugefügt
- Hilfe überarbeitet
- __lil-Struktur um "widthO.l", "heightO.l", "xO.l" und "yO.l" erweitert
Die Flags mit "DRAWORIGIN" im Namen ermöglicht einem die Nutzung der Koordinaten des Original-Sprites innerhalb eines auf Texturgröße skalierten Sprites. ACHTUNG: Wird nur bei verwendetem #LILSIZETOTEXCENTER viel Sinn machen, da ohne Zentrierung die Originalkoordinaten 0|0 sind!

Man kann jetzt auch auf Texturgröße skalierte 3DSprites mit den "originalen" Größen resizen. Dabei wird beim Echtzeit-Resizen der durch #LILSIZETOTEX erstellte Rand mit einbezogen und korrekt resized.

Verfasst: 30.09.2006 12:45
von mardanny71
Hallo Kekskiller,

kannst Du nochmal Die Lilyodt.zip prüfen?

Ich bekomme nur ein defektes Archiv.

Gruß
mardanny71

Verfasst: 30.09.2006 22:33
von Kekskiller
Hab die Dateien diesmal mit WinZIP und nicht WinRAR gezippt. Ich hasse es, wenn dieser Fehler auftritt. WinRAR ist einfach nicht komatibel mit dem alten WinZIP...

Verfasst: 01.10.2006 15:30
von mardanny71
Jetzt alles OK.

Gruß
mardanny71

Verfasst: 01.10.2006 17:59
von MVXA
afaik könnte es mit der Kompressiomsstärke zusammen liegen. Einfach
im Dialog die Einstellung unverändert lassen (müsste "normal" oder so
sein).

Verfasst: 03.10.2006 22:17
von Kekskiller
@MVXA: Danke für den Tipp, aber genau das hatte ich diesmal auch versucht... Hatte das schon mal, aber leider klappts halt einfach nicht. Zum Glück hab ich nun beide drauf, dass sollte fürs nächste funktionieren...