Autor Tema: Como hacer un Scroll tipo ZELDA NES?  (Leído 125 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Conectado KyouyaL

  • Newbie
  • *
  • Mensajes: 6
  • Karma: 0
  • Sexo: Masculino
  • Tantas ideas pero tambien mucha pereza TwT
    • Ver Perfil
Como hacer un Scroll tipo ZELDA NES?
« en: Septiembre 06, 2017, 06:49:00 pm »
Primeramente un saludos a todos los miembros del foro, esta es la primera vez que me animo a participar con un post (de hecho, es la primera vez que publico en un foro xD) Esto se debe a que tengo una duda a la cual por mas vueltas que le trato de dar no le hayo solución, se trata  de como hacer un Scroll (o movimiento de la camara) al estilo Zelda Nes (El primero de todos).

Me explico...Digamos que el scroll del mapa entero se divide en 4 cuadrados.
1 = Cuadro superior izquierdo
2 = Cuadro superior Derecho
3 = Cuadro inferior Izquierdo
4 = Cuadro Inferior Derecho

      1   |   2
     ----------
      3   |   4

Pero la ventana del juego solo muestra entero un cuadro (digamos que el cuadro 1).

Lo que yo quiero hacer es que cuando el Personaje (Avatar, character, etc..) llegue al borde del cuadro 1 por la derecha, el mapa cambie y se muestre el contenido del cuadro 2 y si esta desde el 1 y baja hasta el borde de este se muestre el cuadro 3.

Espero haberme explicado bien jaja básicamente quiero que el mapa se muestre como el zelda de la Nes. Espero puedan ayudarme con esta duda, algún usuario mas experimentado en BennuGD. Si pueden mostrar un código de ejemplo o si bien existe un tutorial por allí lo agradecería, soy nuevo con esto del desarrollo del videojuego en bennu.

Sin mas que decir gracias y espero me ayuden jaja.
Futuro proyecto "The Seven Witches" 5%

Conectado Goku jr

  • Sr. Member
  • ****
  • Mensajes: 291
  • Karma: 6
  • Sexo: Masculino
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #1 en: Septiembre 06, 2017, 11:35:00 pm »
Buenas!
Lo único que se me ocurre,esque cuando tú personaje llegue a la zona indicada,hagas otro start_scroll y actualices los gráficos por los que toquen,y cambies los valores de x,y por los que toquen.
Ahora estoi con el móvil y no te puedo poner un ejemplo.espero a ver ayudado.
Saludos!

Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5543
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #2 en: Septiembre 06, 2017, 11:47:15 pm »
Depende como lo quieras hacer, si quieres que la imagen cambie sin efecto puedes sencillamente cambiar el fondo cuando el personaje llegue al borde y despues situas el personaje en el borde opuesto, si quieres tener un mapa gigante y que se mueva rapidamente al bloque siguiente cuando llegues al borde, sencillamente haces lo mismo con el personaje pero mueves el mapa en una pequeña transición hasta que termine en las coordenadas exactas y despues lo paras.

Conectado KyouyaL

  • Newbie
  • *
  • Mensajes: 6
  • Karma: 0
  • Sexo: Masculino
  • Tantas ideas pero tambien mucha pereza TwT
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #3 en: Septiembre 07, 2017, 12:51:16 am »
Depende como lo quieras hacer, si quieres que la imagen cambie sin efecto puedes sencillamente cambiar el fondo cuando el personaje llegue al borde y despues situas el personaje en el borde opuesto, si quieres tener un mapa gigante y que se mueva rapidamente al bloque siguiente cuando llegues al borde, sencillamente haces lo mismo con el personaje pero mueves el mapa en una pequeña transición hasta que termine en las coordenadas exactas y despues lo paras.

Justo eso ultimo es lo que quiero realizar, un mapa enorme y que cuando se llegue al borde pase al siguiente bloque.

Como realizo esa transicion? y que función debo de usar?

me fije que en la función start_scroll() en sus últimos dos parámetros (los cuales son opcionales) me hablan de añadir un gráfico de destino, lo primero que pensé es que con esto se refiere a que el scroll se traslada a dicho gráfico que se establezca como destino pero... lo probé y no me funciono x.X (Probablemente no use la función como debía ser).

La otra función que vi en la wiki fue move_scroll() la cual me pide como parámetro el "scroll number", que para lo que tengo entendido este parámetro es como el identificador de cada scroll, pero si se trata de una sola imagen grande y no varias...como usaría esta función?

Me gustaría que me dijeras que función seria la indicada para esto y de ser posible que me des una breve explicación de como ejercerla en el código, espero puedas ayudarme con ese favor y así me oriento un poco.

Lamento si mis preguntas son de principiante jaja pero como dije estoy iniciando con esto, gracias de ante mano por responder.
Futuro proyecto "The Seven Witches" 5%

Conectado KyouyaL

  • Newbie
  • *
  • Mensajes: 6
  • Karma: 0
  • Sexo: Masculino
  • Tantas ideas pero tambien mucha pereza TwT
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #4 en: Septiembre 07, 2017, 01:03:33 am »
Buenas!
Lo único que se me ocurre,esque cuando tú personaje llegue a la zona indicada,hagas otro start_scroll y actualices los gráficos por los que toquen,y cambies los valores de x,y por los que toquen.
Ahora estoi con el móvil y no te puedo poner un ejemplo.espero a ver ayudado.
Saludos!

Saludos Goku Jr, pensaba mas en que fuese un mapa enorme y que los bloque se fueran mostrando a medida que el personaje llegue al borde de estos, de esta manera no tendría que estar cargando tantos mapas en pantalla y actualizar la posición del personaje xd. Sin embargo tu idea puede ser una alternativa en caso de que no logre hacerlo de la forma que quiero. Agradezco que hayas respondido de todas formas  ;)
Futuro proyecto "The Seven Witches" 5%

Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5543
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #5 en: Septiembre 07, 2017, 02:25:01 am »
para eso no necesitas usar start_scroll, hacerlo directamente sobre un mapa grande (grafico) es mas sencillo, solo tienes que hacer una sentencia FROM por ejemplo, donde vas a mover el X y el Y del grafico hasta que llegue a la posicion que deseas.

te lo explico por pseudocodigo, no puedo ponerme a picar codigo ahora que estoy en el curro xD

Imagina una resolucion de juego de 320x240, y un mapa de 4 habitaciones, para eso necesitas un grafico de tamaño = 320*240 * 4.

primero situas el grafico en la primera, o sea esquina derecha/fondo, las coordenadas serian:

x = 0 - 320;
y = 0 - 240;

despues si vas a la habitacion de la izquierda harias un FROM X actual TO X = 0; X++; FRAME; END

Solo tienes que corregir valores, pero la idea es la que te he puesto.

Conectado l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 1893
  • Karma: 252
  • Sexo: Masculino
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #6 en: Septiembre 07, 2017, 08:17:27 am »
 ;D

existe un zelda ya hecho para que te guies

requiere chrome
https://coldev.sourceforge.io/bennugd/onlinedemos/ZeldaNacl/

El codigo fuente de zelda esta ubicado en ejemplos avanzados (Advance examples)
https://sourceforge.net/projects/coldev/files/bennupack/


 ;)

Conectado KyouyaL

  • Newbie
  • *
  • Mensajes: 6
  • Karma: 0
  • Sexo: Masculino
  • Tantas ideas pero tambien mucha pereza TwT
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #7 en: Septiembre 07, 2017, 04:51:35 pm »
para eso no necesitas usar start_scroll, hacerlo directamente sobre un mapa grande (grafico) es mas sencillo, solo tienes que hacer una sentencia FROM por ejemplo, donde vas a mover el X y el Y del grafico hasta que llegue a la posicion que deseas.

te lo explico por pseudocodigo, no puedo ponerme a picar codigo ahora que estoy en el curro xD

Imagina una resolucion de juego de 320x240, y un mapa de 4 habitaciones, para eso necesitas un grafico de tamaño = 320*240 * 4.

primero situas el grafico en la primera, o sea esquina derecha/fondo, las coordenadas serian:

x = 0 - 320;
y = 0 - 240;

despues si vas a la habitacion de la izquierda harias un FROM X actual TO X = 0; X++; FRAME; END

Solo tienes que corregir valores, pero la idea es la que te he puesto.

Excelente! Realmente me ha funcionado, me centre tanto con las funciones del scroll que daba por hecho que por allí estaba la solución a mi problema y no pense en otra opciones como el from to jaja agradezco la ayuda.

Y veo que la comunidad es activa acá en el foro, siempre es bueno eso, agradezco a todos los que respondieron al post con sus ideas y nada, a continuar con mi proyecto  ;D

Oh! y también checare el zelda que esta entre los ejemplos (la verdad no lo habia notado xd) ya que se asemeja a lo que quiero realizar.
Futuro proyecto "The Seven Witches" 5%

Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5543
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #8 en: Septiembre 07, 2017, 11:15:10 pm »
Me alegro que te haya servido de algo jaja
El Zelda del ejemplo tiene scroll como el de SNES, no es con pantallas estaticas como el de NES, pero te ayudará bastante para integrar las demas cosas del juego

Desconectado ale_wizard666

  • Newbie
  • *
  • Mensajes: 4
  • Karma: 0
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #9 en: Septiembre 08, 2017, 07:36:07 pm »
;D

existe un zelda ya hecho para que te guies

requiere chrome
https://coldev.sourceforge.io/bennugd/onlinedemos/ZeldaNacl/

El codigo fuente de zelda esta ubicado en ejemplos avanzados (Advance examples)
https://sourceforge.net/projects/coldev/files/bennupack/


 ;)

Hola l1nk3rn3l
Una consulta.
Sabes como hacer para que el juego se ejecute desde un navegados?

Un saludo

Ale



Conectado l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 1893
  • Karma: 252
  • Sexo: Masculino
    • Ver Perfil
Re:Como hacer un Scroll tipo ZELDA NES?
« Respuesta #10 en: Septiembre 13, 2017, 06:24:25 am »
Otro zelda para estudiar

https://github.com/SpoonmanGames/ZeldaRemade

el mismo grupo tiene un motor de bomberman, muy bueno para empezar (solo le falta la IA )

https://github.com/SpoonmanGames/BomberChan

aqui version corregida

https://github.com/SpoonmanGames/BomberChan/issues/1

para que los juegos Bennu se ejecuten en navegador debes usar el bennupack chrome 


https://sourceforge.net/projects/coldev/files/chrome%20native%20client/

Obviamente funciona en chrome, cuando bennu este portado a html5 funcionara en cualquier navegador...
Por el momento bennu funciona de esta forma y podras correr juegos bennu en cualquier S.O. que tenga chrome..


« última modificación: Septiembre 13, 2017, 06:54:46 am por l1nk3rn3l »