Sprites HW y SW en SC5

Par jorge.romero.9655

Master (147)

Portrait de jorge.romero.9655

24-12-2016, 08:02

Saludos gente, una duda que me trae de cabeza:

estoy haciendo pruebas mezclando Sprites SW y HW en Basic. El caso es que cuando hago un swap de pagina, los Sprites HW que tengo en la pantalla visible se pierden, creando un parpadeo molesto. ¿Sabeis como podria evitarlo?

Adjunto un extracto del codigo simplifado:

60 GOSUB 100 'IAS & RENDER
65 GOSUB 200 'BUFFER SC5
70 GOTO 60

105 '#I 243 
120 FOR I=0 TO 2: 
130 IF E1%(I)<>-1 THEN PUT SPRITE I,(E1%(I),116),5,2: PUT SPRITE I+3,(E1%(I),116),2,31
140 IF E1%(I)<>-1 THEN E1%(I)=E1%(I)+2*D1%(I)
150 '#I 251
160 '#I 118
170 NEXTI: RETURN

200 'BUFFER SC5
220 IF (VDP(-2)AND1)<>0 THEN 220 ELSE SWAP PV%,PA%: SET PAGE PV%,PA%: RETURN
!login ou Inscrivez-vous pour poster

Par Kai Magazine

Paragon (1303)

Portrait de Kai Magazine

24-12-2016, 11:55

No tiene ningun misterio, solo hay que hacer 2 cosas:
1- tener definidos los sprites en las 2 paginas del buffer (en este caso la 0 y la 1), si solo los tienes definidos en la 0, cuando muestres la 1 no se veran los sprites.

2- mover el sprite en la pagina de trabajo antes de que la pagina de trabajo sea la pagina de visualizacion.

Aparte de eso, si vas a poner mas de 2 sprites por hardware en todo el juego, usa vpoke para moverlos, va muchisimo mas rapido.

Feliz navidad!