Ich möchte einen Level erstellen welcher aus einem Spritesheet besteht.
Mit clipsprite kann ich ja einen teilbereich eines sprites zeichnen lassen.
Müsste ich somit eine prozedur schreiben welche jeweils dem inhalt des arrayfeldes entspricht?
Also was ich meine wenn feld 1, dann zeichnet es bereich 32x32 von einem größeren sprite.
usw. usw. oder sollte ich zuerst das geladene spritesheet aufteilen und zwischenspeichern?
was wäre die performantere und bessere variante?
codes sind gern gesehen....
Teilsprites einer Levelmap ausgeben-->clipsprite
Teilsprites einer Levelmap ausgeben-->clipsprite
Laptop: Win10@64bit - i3 2x2Ghz - 8GB Ram - 1TB HDD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD
Re: Teilsprites einer Levelmap ausgeben-->clipsprite
Also:
ist natürlich schneller als
zumal ich nicht weiß, wie genau du den Clip-Bereich bestimmst, da gibt es sicher auch schnelle und langsamme Varianten.
Allerdings ist ein zusätzliches ClipSprite() trotzdem noch schnell genug, um überhaupt nicht aufzufallen.
(Es werden ja nur die Texture-U-V-Koordinaten verändern, nicht wirklich "geclippt")
Du kannnst es dir also aussuchen.
Code: Alles auswählen
DisplaySprite(TileType, X, Y)
Code: Alles auswählen
ClipSprite(TileSet, ...)
DisplaySprite(TileSet, X, Y)
Allerdings ist ein zusätzliches ClipSprite() trotzdem noch schnell genug, um überhaupt nicht aufzufallen.
(Es werden ja nur die Texture-U-V-Koordinaten verändern, nicht wirklich "geclippt")
Du kannnst es dir also aussuchen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Teilsprites einer Levelmap ausgeben-->clipsprite
Also ich kann dir die zweite Variante empfehlen:
Es ist unkompliziert, verbraucht vermutlich ein bisschen weniger Speicher,
und ich konnte selbst bei massivem Einsatz davon bisher keinen Geschwindigkeitsunterschied zu einzelnen Sprites feststellen.
LG KeyKon
Code: Alles auswählen
ClipSprite(TileSet, ...)
DisplaySprite(TileSet, X, Y)
und ich konnte selbst bei massivem Einsatz davon bisher keinen Geschwindigkeitsunterschied zu einzelnen Sprites feststellen.
LG KeyKon
(\/) (°,,,°) (\/)
Re: Teilsprites einer Levelmap ausgeben-->clipsprite
das ist schonmal gut zu lesen.
muss ich das sprite dann wieder nach jedem clip zurücksetzen?
schön wäre ja eine native funktion wie loadanimsprite und displayanimsprite mit dem jeweiligen frame gewesen.
muss ich das sprite dann wieder nach jedem clip zurücksetzen?
schön wäre ja eine native funktion wie loadanimsprite und displayanimsprite mit dem jeweiligen frame gewesen.
Laptop: Win10@64bit - i3 2x2Ghz - 8GB Ram - 1TB HDD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD
Re: Teilsprites einer Levelmap ausgeben-->clipsprite
Nur wenn du das ganze Sprite wieder anzeigen lassen willst.
Ansonsten ändert jeder ClipSprite-Aufruf den Clip ausgehend vom Original.
Ansonsten ändert jeder ClipSprite-Aufruf den Clip ausgehend vom Original.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Teilsprites einer Levelmap ausgeben-->clipsprite
Stimmt...war wohl nicht ganz bei der Sache...hihi.
Dann muss ich mir ja nur nen drawsprite-clipsprite befehl für meine spritesheets selber basteln und gut ist.
Eine Levelmap wird ja kaum komplett gezeichnet.
probleme wirds lediglich bei einem animierten sprite geben?
würd gern meinen player beim laufen etc. animieren.
dazu müsste ich mir dann wohl doch eine extra prozedur schreiben.
Dann muss ich mir ja nur nen drawsprite-clipsprite befehl für meine spritesheets selber basteln und gut ist.
Eine Levelmap wird ja kaum komplett gezeichnet.
probleme wirds lediglich bei einem animierten sprite geben?
würd gern meinen player beim laufen etc. animieren.
dazu müsste ich mir dann wohl doch eine extra prozedur schreiben.
Laptop: Win10@64bit - i3 2x2Ghz - 8GB Ram - 1TB HDD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD