Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Arcontus on September 16, 2010, 10:36:44 AM

Title: Escalar scroll
Post by: Arcontus on September 16, 2010, 10:36:44 AM
Buenas,

me preguntaba si existe alguna función para escalar la imagen de fondo que pertenece a un scroll. He estado buscando al respecto, pero no fui capaz de encontrar nada. En el caso de que no exista, ¿se les ocurre algún otro modo de hacerlo?

Gracias de antemano,

Saludos!
Title: Re: Escalar scroll
Post by: BoMbErLiNk on September 16, 2010, 12:02:02 PM
Puedes probar de montarte un scroll própio, a base de capas formado por procesos.
Title: Re: Escalar scroll
Post by: DCelso on September 16, 2010, 05:17:53 PM
O también puedes:
1. cagar la imagen con con load_png (o load_fpg si está en fpg)
2. crear una imagen vacía con new_map.
3. luego copiar la imagen buena en la vaciá con map xput usando el parámetro size (el quinto) para cambiar su resolución.
   http://wiki.bennugd.org/index.php?title=Map_xput
4. descargar la imagen cargada con load_png
5. usar para  start_scroll el nuevo id de la imagen creada.
Title: Re: Escalar scroll
Post by: Windgate on September 16, 2010, 06:53:10 PM
Quote from: DCelso on September 16, 2010, 05:17:53 PM
O también puedes:
1. cagar la imagen con con load_png (o load_fpg si está en fpg)
2. crear una imagen vacía con new_map.
3. luego copiar la imagen buena en la vaciá con map xput usando el parámetro size (el quinto) para cambiar su resolución.
   http://wiki.bennugd.org/index.php?title=Map_xput
4. descargar la imagen cargada con load_png
5. usar para  start_scroll el nuevo id de la imagen creada.

La idea es buena... Si saco un rato la pruebo a ver qué tal rinde, siempre he envidiado el escalado de scroll de los últimos videojuegos 2D comerciales.

Si tienes ejemplo montado te ganas el karma de fijo, si no tampoco te molestes que la semana que viene vuelvo con cursos de Bennu y generaré mierda por un tubo, como el curso pasado :D
Title: Re: Escalar scroll
Post by: Mr Matsusaka on September 16, 2010, 07:10:18 PM
Windgate, lo que dice DCelso no escala el scroll durante el juego, solo carga el scroll con el nuevo escalado. Para hacer un scroll con reescalado dinamico habria que hacer uno manual, como dice Bomberlink
Title: Re: Escalar scroll
Post by: DCelso on September 17, 2010, 12:46:19 AM
sasto :D. Es que en la pregunta no venía si quería hacerlo en caliente o no :D.
Pero bueno, para adaptar mi algoritmo para que se pueda manipular de forma dinámica se podría hacer lo siguiente:
1. cagar la imagen con con load_png (o load_fpg si está en fpg), llamémosle  imagenOriginal
2. crear una imagen temporal vacía con new_map, llamemosle imagenScroll. Hay que tener en cuenta cual va a ser la ampliación maxima que permitiremos para calcular el ancho y alto necesario en esta imagen, por ejemplo en una imagen de 100x100 en el que permitamos una ampliación del 200%, necesitaremos que esta imagen temporal ocupe 200x200, en vez de 100x100 como la original.
3. luego copiar la imagenOriginal en la imagenScroll con map xput usando el parámetro size (el quinto) con valor 100  ( para que no cambie)..
  http://wiki.bennugd.org/index.php?title=Map_xput
4. usar para  start_scroll el id de imagenScroll.
/*Aqui tenemos ya el scroll con la imagen en tamaño real*/
5. usar map_clear para borrar la imagenScroll
6. copiar la imagenOriginal en la imagenScroll con map xput usando el parámetro size  con valor de reduccion(inferior a 100)  o apliacion(superior a 100), para cambiar su resolución.
/*Aqui tenemos ya el scroll con la imagen en tamaño ampliado o reducido*/
Repetimos 5 y 6 las veces que haga falta.
No descargamos ninguna imagen en ningún momento para poder tener una copia en tamaño real (y usar de base) y otra en tamaño aumentado o reducido para usar en el scroll.