10.07.2015 Views

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

P R O G R A M A C I Ó N D E V I D E O J U E G O S C O N S D L}}suelo[t].sety(y);suelo[t].draw(screen);Este código está basado en el ejemplo6_1. Como diferencia en<strong>con</strong>tramos dos nuevasvariables. La variable indice <strong>con</strong>tiene el <strong>de</strong>splazamiento (en bytes) a partir <strong>de</strong>l cual secomienza a dibujar el mapa. La variable indice_in, es la encargada <strong>de</strong> realizar el scrollfino. Al dibujar el tile, se le suma a la coor<strong>de</strong>nada Y el valor <strong>de</strong> la variable indice_in,que va aumentando en cada iteración. Cuando esta variable alcanza el valor 64, es <strong>de</strong>cir,la altura <strong>de</strong>l tile, ponemos la variable a 0 y restamos 10 a la variable indice, o lo que eslo mismo, el offset a partir <strong>de</strong>l que dibujamos el mapa. Se realiza una resta porque lalectura <strong>de</strong>l mapa la hacemos <strong>de</strong> abajo a arriba (<strong>de</strong>l último byte al primero). Recuerda queel mapa tiene 10 tiles <strong>de</strong> anchura. Es por eso que restamos 10 a la variable indice.Una vez que llegamos al principio <strong>de</strong>l mapa, comenzamos <strong>de</strong> nuevo por el final, <strong>de</strong> formaque se va repitiendo el mismo mapa <strong>de</strong> forma in<strong>de</strong>finida. Ten en cuenta que las primeras10 filas <strong>de</strong>l mapa tienen que ser iguales que las 10 últimas si no quieres notar un molestosalto cuando recomienza el recorrido <strong>de</strong>l mapa. En el ejemplo6_2 vemos el códigocompleto.101

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!