User Tools

Site Tools


content:retrocomputing:sprite

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
content:retrocomputing:sprite [2023/07/29 22:52] admincontent:retrocomputing:sprite [2023/08/15 14:54] (current) – [Spostamento e animazione] admin
Line 159: Line 159:
 ===== 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 sprite... FIXME+Il seguente esempio è tratto dal libro //Commodore 64 Graphics and Sound//; è diverso rispetto al listato sopra, perché non ridefinisce gli sprite con un altro disegno, ma visualizza alternativamente due sprite, con due definizioni diverse per creare l'animazione, relative alla stessa figura (un alieno).
  
 +{{:sprite:sprite-aliens.png|}}
 ==== Definizione sprite ==== ==== Definizione sprite ====
  
Line 184: Line 185:
 </file> </file>
  
-I registri nel VIC-II per le posizioni X (e Y) degli sprite 0-(53248, 53250, 53252 e 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):
  
 {{:sprite:vic-ii-sprite-x-pos.png|}}   {{:sprite:vic-ii-sprite-x-pos.png|}}  
  
-Il registro 'vc+21=53269' tramite il quale vengono visualizzati solo gli sprite a 1:+Il registro 'vc+21=53269' tramite il quale vengono visualizzati solo gli **sprite abilitati**:
  
 {{:sprite:vic-22-sprite-enable.png|}} {{:sprite:vic-22-sprite-enable.png|}}
  
-Poi vengono visualizzati con gli stessi colori gli sprite 1 e 3 (2041 e 2043) con un'animazione 'a gambe chiuse', un po' più avanti nella direzione 'x':+Poi vengono visualizzati gli sprite 1 e 3 (2041 e 2043) con un'animazione 'a gambe chiuse', un po' più avanti nella direzione 'x':
  
 <file> <file>
Line 203: Line 204:
 </file> </file>
  
-L'effetto è quello di dare un'animazione a due alieni che si avvicinano, per poi scontrarsi. Di seguito il listato completo:+L'effetto è quello di dare un'animazione a due alieni che si avvicinano, per poi scontrarsi. Di seguito il **listato completo**:
  
 <file> <file>
Line 225: Line 226:
 210 pokevc+39,4:pokevc+40,4 210 pokevc+39,4:pokevc+40,4
 220 pokevc+41,3:pokevc+42,3 220 pokevc+41,3:pokevc+42,3
-230 pokevc+43,7:pokevc+21,0:rem disable sprites+230 pokevc+43,7:pokevc+21,0
 240 for n=1 to 10 240 for n=1 to 10
 +241 print chr$(147)
 +242 print"sp0,x:","sp2,x:"
 +243 print"sp1,x:","sp3,x:"
 +244 print "cont:";n"/10"
 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,x:pokevc+4,255-x 260 pokevc,x:pokevc+4,255-x
 +261 print "sq]]]]]]";x
 +262 print "sq]]]]]]]]]]]]]]]]";255-x
 265 rem check for collision 265 rem check for collision
 270 cd=peek(vc+30) 270 cd=peek(vc+30)
Line 235: Line 242:
 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 "sqq]]]]]]";x+4
 +307 print "sqq]]]]]]]]]]]]]]]]";251-x
 310 pokevc+2,x+4:pokevc+6,251-x 310 pokevc+2,x+4:pokevc+6,251-x
 315 rem check for collision 315 rem check for collision
Line 243: Line 252:
 335 rem display sprites 1 and 3 335 rem display sprites 1 and 3
 340 pokevc+21,10 340 pokevc+21,10
-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 258:
 380 pokevc+23,16:pokevc+29,16 380 pokevc+23,16:pokevc+29,16
 390 pokevc+21,16 390 pokevc+21,16
 +400 for t=1 to 1000:next
 +410 pokevc+21,0:cd=peek(vc+30)
 +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,0:cd=peek(vc+30) 410 pokevc+21,0:cd=peek(vc+30)
content/retrocomputing/sprite.1690663950.txt.gz · Last modified: 2023/07/29 22:52 by admin