content:retrocomputing:sprite
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| content:retrocomputing:sprite [2023/07/29 22:54] – admin | content:retrocomputing:sprite [2024/06/02 15:57] (current) – [Colore] admin | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| ===== Registri ===== | ===== Registri ===== | ||
| + | |||
| + | ==== Schema ==== | ||
| + | |||
| + | Di seguito uno schema che elenca le locazioni di memoria, specificate più sotto, che definiscono gli sprite: | ||
| + | |||
| + | ^ ^Sprite X^Sprite Y^Sprite Pointer^Sprite Colore^ | ||
| + | ^Sprite 0|$D000 | ||
| + | ^Sprite 1|$D002 | ||
| + | ^Sprite 2|$D004 | ||
| + | ^Sprite 3|$D006 | ||
| + | ^Sprite 4|$D008 | ||
| + | ^Sprite 5|$D00A | ||
| + | ^Sprite 6|$D00C | ||
| + | ^Sprite 7|$D00E | ||
| + | |||
| + | |||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| ==== Attivazione ==== | ==== Attivazione ==== | ||
| Line 24: | Line 51: | ||
| </ | </ | ||
| - | < | + | < |
| ==== Posizionamento ==== | ==== Posizionamento ==== | ||
| Line 45: | Line 72: | ||
| === Multicolore === | === Multicolore === | ||
| - | La modalità **multicolore** prevede, oltre al colore principale dello sprite, anche **due colori aggiuntivi, condivisi da tutti gli sprite**. Si usano i **registri 53285, 53286 e 53276**: | + | La modalità **multicolore** prevede, oltre al colore principale dello sprite, anche **due colori aggiuntivi, condivisi da tutti gli sprite**. Si usano i **registri 53285 ($D025), 53286 ($D026) |
| < | < | ||
| Line 56: | Line 83: | ||
| === Colore principale === | === Colore principale === | ||
| - | Il **colore principale** si setta nei **registri 53287-53294**, | + | Il **colore principale** si setta nei **registri 53287-53294 |
| ==== Definizione ==== | ==== Definizione ==== | ||
| Line 159: | Line 186: | ||
| ===== Sprite animation e collision ===== | ===== Sprite animation e collision ===== | ||
| - | Il seguente esempio è tratto dal libro //Commodore 64 Graphics and Sound//; è diverso rispetto al listato sopra, perché non ridefinisce gli stessi | + | Il seguente esempio è tratto dal libro //Commodore 64 Graphics and Sound//; è diverso rispetto al listato sopra, perché non ridefinisce gli sprite |
| + | {{: | ||
| ==== Definizione sprite ==== | ==== Definizione sprite ==== | ||
| Line 184: | Line 212: | ||
| </ | </ | ||
| - | I registri nel VIC-II per le **posizioni X degli sprite 0-4** (vc=53248, vc+2=53250, vc+4=53252 e vc+6=53254): | + | I registri nel VIC-II per le **posizioni X degli sprite 0-3** (vc=53248, vc+2=53250, vc+4=53252 e vc+6=53254): |
| {{: | {{: | ||
| Line 192: | Line 220: | ||
| {{: | {{: | ||
| - | Poi vengono visualizzati | + | Poi vengono visualizzati gli sprite 1 e 3 (2041 e 2043) con un' |
| < | < | ||
| Line 225: | Line 253: | ||
| 210 pokevc+39, | 210 pokevc+39, | ||
| 220 pokevc+41, | 220 pokevc+41, | ||
| - | 230 pokevc+43, | + | 230 pokevc+43, |
| 240 for n=1 to 10 | 240 for n=1 to 10 | ||
| + | 241 print chr$(147) | ||
| + | 242 print" | ||
| + | 243 print" | ||
| + | 244 print " | ||
| 250 for x=0 to 130 step 8 | 250 for x=0 to 130 step 8 | ||
| 255 rem move sprites 0 and 2 | 255 rem move sprites 0 and 2 | ||
| 260 pokevc, | 260 pokevc, | ||
| + | 261 print " | ||
| + | 262 print " | ||
| 265 rem check for collision | 265 rem check for collision | ||
| 270 cd=peek(vc+30) | 270 cd=peek(vc+30) | ||
| Line 235: | Line 269: | ||
| 285 rem display sprites 0 and 2 | 285 rem display sprites 0 and 2 | ||
| 290 pokevc+21,5 | 290 pokevc+21,5 | ||
| - | 300 for t=1 to 200:next | + | 300 for t=1 to1000:next |
| 305 rem move sprites 1 and 3 | 305 rem move sprites 1 and 3 | ||
| + | 306 print " | ||
| + | 307 print " | ||
| 310 pokevc+2, | 310 pokevc+2, | ||
| 315 rem check for collision | 315 rem check for collision | ||
| Line 243: | Line 279: | ||
| 335 rem display sprites 1 and 3 | 335 rem display sprites 1 and 3 | ||
| 340 pokevc+21, | 340 pokevc+21, | ||
| - | 350 for t=1 to 200:next | + | 350 for t=1 to1000:next |
| 360 next x | 360 next x | ||
| 365 rem display explosion sprite 4 | 365 rem display explosion sprite 4 | ||
| Line 249: | Line 285: | ||
| 380 pokevc+23, | 380 pokevc+23, | ||
| 390 pokevc+21, | 390 pokevc+21, | ||
| + | 400 for t=1 to 1000:next | ||
| + | 410 pokevc+21, | ||
| + | 420 for t=1 to 500:next | ||
| + | 430 next n | ||
| + | 440 end | ||
| 400 for t=1 to 1000:next | 400 for t=1 to 1000:next | ||
| 410 pokevc+21, | 410 pokevc+21, | ||
content/retrocomputing/sprite.1690664089.txt.gz · Last modified: by admin
