Uso de 2 o mas scrolls

Started by Milton884, May 11, 2011, 08:31:04 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Milton884

Que tal. Yo por ahora he usado 1 solo Scroll donde estaba el escenario del personaje protagonista.

En el proceso del protagonista ponia:

...

type = C_SCROLL; //para que las coordenadas sean relativas al Scroll

Mi pregunta es la siguiente:
Como hago para cargar otro scroll, y que un  proceso use ese otro Scroll en vez del primero que utilizé.
Quiero otro scroll para poner ahi ciertas cosas que no quiero q influyan con lo grafico, animaciones , escenario etc, por eso.

Muchas gracias.

panreyes

Creas un scroll sobre la región 1,2,3,4, lo que quieras, luego con define_region puedes cambiar el tamaño de esta.

Si quieres ver un ejemplo de esto, mi PiXDash utiliza hasta 4, con este sencillo código:

                        define_region(1,0,0,ancho_pantalla/2,alto_pantalla/2);
                        define_region(2,ancho_pantalla/2,0,ancho_pantalla,alto_pantalla/2);
                        define_region(3,0,alto_pantalla/2,ancho_pantalla/2,alto_pantalla);
                        define_region(4,ancho_pantalla/2,alto_pantalla/2,ancho_pantalla,alto_pantalla);

                        start_scroll(0,0,mapa_scroll,fondo,1,4);
                        scroll[0].camera=prota(1);
                        start_scroll(1,0,mapa_scroll,fondo,2,4);
                        scroll[1].camera=prota(2);
                        start_scroll(2,0,mapa_scroll,fondo,3,4);
                        scroll[2].camera=prota(3);
                        start_scroll(3,0,mapa_scroll,fondo,4,4);
                        if(jugadores==4)
                                scroll[3].camera=prota(4);
                        end


Y luego debes setear la local region si quieres que cada uno de los procesos aparezca sólo en un scroll

http://www.google.com/codesearch/p?hl=es#4VV-tEoejaI/trunk/pixdash/src/pixdash.prg&q=pixdash.prg%20package:http://pixjuegos%5C.googlecode%5C.com&sa=N&cd=5&ct=rc

Milton884

Gracias, pero si pongo

ctype = C_SCROLL;   //Las coordenadas son relativas al scroll

Para que las coordenadas sean relativas al scroll (en el codigo de un proceso claro), sobre que scroll me estoy refiriendo aca? 

Gracias.

La momia que fuma

Se referiria al scroll 0, para que refiera a otro scroll creo que lo tienes que asignar en la variable local cnumber (cnumber=nº de scroll)

Por desgracia parece que no esta documentado en el wiki de bennu, asi que te digo de memoria, tampoco estoy seguro...tu prueba a ver.

Milton884

Dale te agradezco q pruebes que toy trabado en esto, gracias =)

SplinterGU

c_number es un arregle de bits e indica en que scrolls debe verse el proceso.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

O sea, que se debe tratar c_number como un array de bits, donde el menos significativo indica si se debe ver en el scroll 0.

Si queremos que se vea en los scrolls 1, 2, 3 y 5, deberíamos hacer lo siguiente.
c_number= 1 + 2 + 4 + 16;
O bien hacerlo usando las constantes C_0 a C_9, que para eso están ;)

Otra cosa, no se necesita una region por cada scroll, varios scrolls pueden compartir la misma región siempre que se coloquen las Z como corresponda ("Drajon Lol: Devolución" o nivel 2 de SBTime, por poner 2 ejemplos que yo conozco), incluso con modos7 ;)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2