pues seria muy facil, un scroll MUY BASICO (pero funciona) seria crear dos variables (x e y)
y usar la funcion "PA_BGScrollXY" y hacer que el valor de las variables suba.
ej:
s32 scrollx
s32 scrolly
/*suponiendo que creaste una estructura para el personaje, sino, donde pongo personaje.X seria poner una variable en la posicion x y otra en la Y del mario.*/
//////////////////////////////////////POSICIONES X//////////////////////////////////////
//esto es para avanzar hacia la derecha, x seria, por ejemplo, 240, cuando este en la coordenada x 240 de la pantalla que avance.
if (personaje.x == laposiciondepantallaquesea)
{
// el valor de la variable sube
scrollx ++;
}
/* esto para avanzar hacia la izquierda (retroceder) (ej posicion=10)
pero recuerda que la posicion inicial del personaje, deve de ser mayor que este valor*/
if (personaje.x == laposiciondepantallaquesea)
{
// el valor de la variable baja
scrollx --;
}
//////////////////////////////////////POSICIONES Y//////////////////////////////////////
//para avanzar para arriva ( lo mismo pero con los valores Y)
//OJO que para arriva las posiciones de y son negativas, no te confundas
if (personaje.y == laposiciondepantallaquesea)
{
// el valor de la variable sube
scrolly --;
}
//esto para avanzar hacia abajo, por lo que explique antes, hacemos que el valor suba
if (personaje.y == laposiciondepantallaquesea)
{
// el valor de la variable baja
scrolly ++;
}
// hacemos el scroll
PA_BGScrollXY(0, //pantalla
3, //capa en la que estan los bg (recomiendo la 3)
scrollx, //variable x
scrolly); //variable y
Despues, si vas a usar otro mapa por detras de colisiones,
seria poner la misma funcion que te he puesto antes para que haga tambien scroll.
ej:
// Ahi esta el scroll para el bg de la capa 3.
// hacemos el scroll
PA_BGScrollXY(0, //pantalla
3, //capa en la que estan los bg (recomiendo la 3)
scrollx, //variable x
scrolly); //variable y
// podemos usar lo mismo para la capa 2, y las demas.
// hacemos el scroll
PA_BGScrollXY(0, //pantalla
2, //capa en la que estan los bg (recomiendo la 3)
scrollx, //variable x
scrolly); //variable y
Lo que si que te digo, es que si usas un mapa de colisiones detras del "normal" pongas el de colisiones en la ultima capa y el que se ve en la capa 2
Como complemento, para intentar resolver futuras dudas que tendras, y aunque seguramente no entiendas nada, y no te lo recomiendo mucho, pero si vas a (C:\devkitPro\PAlibExamples\Demos\PlatformGame\PlatformGame3) hay un ejemplo muy detallado sobre esto.
A mi gusto, es mucho mas sencilla y igual de eficad la solucion a scroll que yo te doy, pero aya tu.
espero que te haya ayudado y orientado un poco mas.
salu2
P.D: este tocho me le guardo pa algun tuto mas adelante xD