Nur Teile eines Sprites dynamisch zeichnen

Previous topic - Next topic

KidPaddle

Hallo,

ich habe eine Grafik von 256x 256 Pixel. Ich möchte jedoch nur einen Bereich von 64 x 64 davon zeichnen, mit eine variablen Start - Punkt, der von 0 bis 192 geht. Habe leider keine passenden Befehl in der Hilfe gefunden und ,it DRAWSPRITE wird ja immer das ganze gezeichnet. Die Verwendung von GRABSPRITE macht keinen sind, weil ich dann 192 * 192 unterschiedliche Sprites speichern müsste.

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

KidPaddle

Leider nein. Das soll kein Tile - Engine oder so werden.

Ich wollte ein 64 x 64 Pixel großen Ausschnitt nehmen, diesen Zeichnen und darüber dann ein Sprite, 64 * 64 groß, wobei dass Sprite in der Mitte eine kreisförmigen transparenten Bereich hat. Damit wird der Effekt des Fernrohrs nachgebildet. Dieses Fernrohr kann dann Pixelweise, eventuell auch um 2 Pixel, verschoben werden.

Gruß
Thomas

Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Quentin

probier doch mal VIEWPORT, kannst den ja als 64x64 definieren und dort hinein dein Sprite jeweils zeichnen

Schranz0r

Jepp, VIEWPORT und dort kannst du das Sprite im hintergrund verschieben so das es so aussieht als würde es sich bewegen
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

KidPaddle

Danke, wäre eine Lösung, leider dürfte die Performance auf einem GP2X, GP2XWIZ oder iPhone darunter leiden. Auf einem PC macht das heute nichts mehr aus.

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Schranz0r

#5
Alternativ benutze POLYVECTOR!


Ich schreib mal schnell ein Testprogramm...

EDIT:

Siehe im Anhang!

[attachment deleted by admin]
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

KidPaddle

Hi Schranz0r,

vielen Dank für deine Hilfe. Auf dem GP2X und GP2X Wiz funktionierts einwandfrei.

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Schranz0r

Kein Problem :)
Hoffe du hast den Code halbwegs verstanden?! ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

KidPaddle

Aber sicher, sonst hätte ich mich schon gerührt mit einem dicken fetten "HÄH"

Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Schranz0r

Dann ist ja gut :)
Ist immer schön zu wissen, obs auch verständlich genug war ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard