Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

¿Cómo puedo ver repetida la imagen de una superficie?

3 views
Skip to first unread message

J_F_NASH

unread,
Feb 14, 2008, 3:11:20 AM2/14/08
to SDL en Español
Quiero decir, si te excedes al indicar el ancho de la superficie
quiero que la imagen que esta contiene se vuelva a ver repetida y no
se muestre una sola vez como siempre hace.

SDL_Rect rect;
rect.w = 1000;
rect.h = 1000;
SDL_BlitSurface(imagen,NULL,screen,&rect); // La imagen mide 30 de
ancho y quiero que esta se repita hasta que termine el ancho de la
superficie.

Muchas gracias de antemano.

S2.

J_F_NASH

unread,
Feb 14, 2008, 3:33:25 AM2/14/08
to SDL en Español
imagen->w = 1000


S2.

Hugo Ruscitti

unread,
Feb 14, 2008, 7:20:57 AM2/14/08
to sdl...@googlegroups.com
2008/2/14 J_F_NASH <Mendez...@gmail.com>:

Saludos, ten en cuenta que SDL_BlitSurface solo evalúa los registros
`x` y `y` del cuarto parámetro, el uso correcto de la función
SDL_BlitSurface suele ser:


>>>
SDL_Rect rect;

rect.x = 0;
rect.y = 0;

SDL_BlitSurface(imagen_fuente, NULL, screen, &rect);
>>>

es decir, no importa el valor que tienen `rect.w` y `rect.h`. Al menos
cuando se lo envías a la función.

Ahora, imagina que quieres repetir la impresión como si se tratara de
un mosaico. Tendrías que llamar muchas veces a SDL_BlitSurface de forma
similar a esta:

>>>
SDL_Rect rect;
rect.y = 0;

for (rect.x=0; rect.x < screen->w; rect.x += imagen_fuente->w)
SDL_BlitSurface(imagen_fuente, NULL, screen, &rect);
>>>

La idea es llamar muchas veces a SDL_BlitSurface, pero aumentando
la posición de impresión en X (rect.x).

No estoy muy seguro si funciona bien, ya que no he tenido tiempo de compilarla,
pero creo que está bien (al menos desde el concepto). Prueba la función y
cuentanos.

Saludos.


--
Hugo Ruscitti
www.losersjuegos.com.ar

J_F_NASH

unread,
Feb 14, 2008, 7:48:03 AM2/14/08
to SDL en Español
Joroba! pues funciona muy bien. Muchas gracias por la explicación.


S2.

On 14 feb, 13:20, "Hugo Ruscitti" <hugorusci...@gmail.com> wrote:
> 2008/2/14 J_F_NASH <MendezRequ...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages