Lily Sprite Lib V1.1

Anwendungen, Tools, Userlibs und anderes nützliches.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Lily Sprite Lib V1.1

Beitrag 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.
Zuletzt geändert von Kekskiller am 29.03.2008 11:11, insgesamt 2-mal geändert.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Update auf V1.1

Beitrag 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.
Benutzeravatar
mardanny71
Beiträge: 266
Registriert: 05.03.2005 01:15
Wohnort: Thüringen

Beitrag von mardanny71 »

Hallo Kekskiller,

kannst Du nochmal Die Lilyodt.zip prüfen?

Ich bekomme nur ein defektes Archiv.

Gruß
mardanny71
Gruß, mardanny71
Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag 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...
Benutzeravatar
mardanny71
Beiträge: 266
Registriert: 05.03.2005 01:15
Wohnort: Thüringen

Beitrag von mardanny71 »

Jetzt alles OK.

Gruß
mardanny71
Gruß, mardanny71
Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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).
Bild
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag 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...
Antworten