Autor Tema: Motor multidireccional.  (Leído 2320 veces)

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 546
  • Karma: 17
    • Amaka Soft
Re:Motor multidireccional.
« Respuesta #15 en: Abril 12, 2020, 02:37:02 pm »
Has probando con la 1.28.2?

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #16 en: Abril 12, 2020, 05:45:49 pm »
Hola AmakST,
El bug persiste en la ultima version...te he incluido el codigo con sus graficos . Por algun motivo divgo directamente no acepta asignar una tabla procecente de otra tabla....Ya me contaras .....
ahhh!! y gracias por la actualizacion ...estoy con ella ahora.
Código: [Seleccionar]
tabla1[0]=tabla2[1][1]; //DA error !!!!
variable=tabla2[1][1];
tabla1[0]=variable;// FUNCIONA
NO ES QUE DE ERROR SIMPLEMENTE QUE EL PROCESO NO LO PINTA....... ???
Un saludo.
« última modificación: Abril 12, 2020, 05:47:36 pm por oskarg »

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #17 en: Abril 13, 2020, 10:17:44 am »
Hola AmakSt,
Hay un nuevo bug en la version 128r2 sobre los scrolls.....te pongo el ejemplo
te explico...
1.si anulo la linea 34 el scroll no se mueve :o    //scroll[0].front.y -= 0.5;
2.si anulo la linea 35 el scroll front y bak  se mueve...  :o     // scroll[0].back.y -= 0.25;
3.si no anulo linea 34 y 35 el scroll front y back se mueven correctamente. ;D
Código: [Seleccionar]
// Example of online compiler Div GO: Games Online
// Php + Html5 + Canvas + Javascript
// by J. Manuel Habas

program example_collision;
global
id_txt1, id_txt2;
score = 0;
sound1, sound2, sound3;

begin


set_title("Div GO : Example of Collisions");

/* display options */
set_mode(480, 320);
screen_color(#025);

set_fps(60, 0);

start_scroll(0, 0, 2, 1, 0, 0);

scroll[0].front.alpha = 20;
    scroll[0].back.alpha = 10;
   
   
   
  map_block_copy(0, 2, 50,50,3 , 0,0, 120,120);//dibuja un punto en el centro...
  refresh_scroll(0);
 

loop
scroll[0].front.y -= 0.5;
       // scroll[0].back.y -= 0.25;

if (key(_esc)) exit("Amaka Soft 2012", 1); end

frame;
end
end

un saludo.



oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #18 en: Abril 13, 2020, 10:19:15 am »
EN LA VERSION ANTERIOR FUNCIONA!!! >:(

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 546
  • Karma: 17
    • Amaka Soft
Re:Motor multidireccional.
« Respuesta #19 en: Abril 13, 2020, 03:05:51 pm »
Hola oskarg,

Doy un tiempo prudencial para testear antes de sacar la versión de descarga y no para testearla yo solo, sino para que la testeen también los interesados en DivGO. Yo testeo lo que se que ha ido fallando y alguna cosa más que me va apareciendo. Si nadie, aparte de mí, reporta nada, lo considero como que todo va de maravilla.

He localizado el problema del scroll, hice cambios para solucionar otro problema con un reajuste de posición automática de la cámara que sucedía en Dr. Malvado y Panic!. Me lo apunto para corregir.

Un saludo.

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #20 en: Abril 13, 2020, 07:00:27 pm »
Hola AmaKaST,
gracias por el detalle.
Sobre el testeo,hasta que no estaba disponible y no me di cuenta no la probé...Ya intentaré en otra ocasión probar más a fondo la versión que está disponible online.
Sobre la asignacion de una tabla sobre otra tienes ahi otro bug.... es decir tabla1[0]=tabla2[1][2] ...Falla...pero si hago variable=tabla2[1][2]  y luego tabla1[0]=variable funciona.
Te comento otra bug raro ,quizas ya lo hayas corregido...es sobre el scroll.aunque quizas sea algo normal ni idea...
Si el tamaño de la resolucion de la pantalla tiene el mismo tamaño que el mapa de scroll no se mueve y si el front tiene diferente sentido al back tampoco se mueve.
sigo trasteando
Un saludo.
« última modificación: Abril 13, 2020, 07:09:26 pm por oskarg »

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 546
  • Karma: 17
    • Amaka Soft
Re:Motor multidireccional.
« Respuesta #21 en: Abril 14, 2020, 11:01:07 am »
Hola oskarg,

Ya tengo corregido el bug de los arrays de dos dimensiones, pasa tanto al asignar como al operar entre ellos, y también he corregido los scrolls manuales.

Sobre el bloqueo del mapa en el scroll se puede deber al código de bloqueo (sacado de Div2):
Código: [Seleccionar]
start_scroll(<número de scroll>, <fichero>, <gráfico>, <gráfico fondo>, <número de región>, <indicador de bloqueo>);

<indicador de bloqueo> - Aquí se indicará un valor que define si cada uno de los dos planos de scroll es cíclico en horizontal y vertical. Por ejemplo, un plano es cíclico en horizontal cuando al salirse del dibujo por la derecha aparece el dibujo por la izquierda. Para componer este valor se deben sumar las siguientes cantidades:

  + 1 - Si el primer plano es cíclico horizontalmente.
  + 2 - Si el primer plano es cíclico verticalmente.
  + 4 - Si el segundo plano es cíclico horizontalmente.
  + 8 - Si el segundo plano es cíclico verticalmente.

Es decir, 0 si ninguno de los dos planos debe ser cíclico, 15 (1+2+4+8) si ambos planos deben ser cíclicos en ambos ejes, 12 (4+8) si únicamente debe ser cíclico el segundo plano, etc.

Cuando un gráfico (principal o de fondo) sea más pequeño que la ventana de visualización, el sistema forzará a que su plano de scroll sea cíclico pues, en caso contrario, no se podría rellenar la ventana de scroll por completo, sin repetir cíclicamente el gráfico (en mosaico).
Un saludo.

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #22 en: Abril 14, 2020, 01:23:38 pm »
Muchas gracias AmakaSt;
Por mi parte estoy liado ahora con el motor base para  juegos 2d....Cuando termine una cosa,muestro los progresos.
Un saludo.

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #23 en: Abril 29, 2020, 07:27:38 am »
Hola de nuevo,
Tengo un pequeño problema en el código que hace que tenga que comprobar más posiciones de la tabla que las que debería, ayer por fin encontré dónde falla , espero subsanarlo esta semana y ya tengo un motor donde el personaje puede saltar, disparar y que las balas colisione con las paredes,subir escaleras, eliminar tiles etc,

Cuando lo tenga solventado , público un simple ejemplo,el código es muy sencillo de entender y si todo marcha como espero ya el domingo implento el scroll .
Un saludo

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #24 en: Julio 25, 2020, 09:46:48 pm »
Hola de nuevo...
Si la montaña no va a Mahoma ,Mahoma va la montaña.....
Hace siglos que no programo,pero mañana tengo dia libre y retomo el proyecto.
Hago un pequeño resumen de lo que tengo:

1.Ya tengo el motod multidireccional,funcionando  ....ahora tengo que implementarlo como funciona los juegos de megaman...siempre el scroll funciona en forma de "L "ya entraré con más detalles cuando esté acabado....

2.Ya tengo un ejemplo muy didáctico donde una caja dispara y este colosiona con el fondo,una pared,un enemigo etc,tiene salto de dos tipos .... sube por las escaleras tipo dong king kong ,salta entre plataformas móviles y el fondo es un scroll....Este ejemplo estaría genial que se incluyera en divgo  base...pues con él cualquiera  puede hacer cualquier tipo de juego a "pantalla parada".


Mañana comienzo hacer el motor tipo megaman...cuando lo tenga vuelvo a comentar y hago una explicación de como funciona el motor para que la gente con poca base o cualquiera entienda su mecánica y público un ejemplo jugable.


 

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #25 en: Febrero 03, 2021, 11:10:05 pm »
Hola de nuevo,sigo vivo ; :P
Sigo con el motor....uhmmm..Lo tenia parado por pereza,no desvelo nada,pero si informo que aun estoy en ello y que de momento todo va avanzando.Cuando tenga algo potable para expirementar publico.

oskarg

  • Sr. Member
  • ****
  • Mensajes: 269
  • Karma: 2
Re:Motor multidireccional.
« Respuesta #26 en: Marzo 04, 2021, 01:23:46 pm »
Hola,hoy tengo dia libre y lo estoy aprovechando para seguir con el proyecto..

Desde hace un par de semanas tenia un bug en el programa que me impedia cambiar de mapa,basicamente cuando cambiaba de direccion no mostraba los tiles correctamente y no encontraba el por que,era basicamente una simple variable que no la reseteaba adecuamente...estaba bastante hastiado porque llevaba tiempo sin entender el motivo.Tambien pensaba que me habia equivocado con el sistema que habia creado,me explico,solo podia desplazarme con multiplos del tamaño del tile...1.....2...4....8..16=tamaño tile. No podia cambiarlo durante el transcurso del juego...Esto me ha tenido bastante desconcertado...hasta que me he dado cuenta que solo tenia que hacer un for....desplazandome 1 pixel hasta llegar al lugar que indica la camara y volcar el contenido  :P.

1.He probado diferentes cosas...el mapa de colisiones hacerlo por tablas , con un mapa de bits o incluso con  un mini scroll el cual no lo visualizo y ahi hago un pixel get.....De momento lo hago de esta forma...cargo el mapa lo transformo en tabla y ahi accedo..aunque tambien me he dado cuenta que con get_pixel,directamente no veo ralentizacion alguna..vere como lo implemento...con  1000 get_pixeles todo fluye en divgo bien.Con el sistema de mini scroll me olvido por completo de tablas uhmmm,cuando lo tenga implementado y funcional con este ultimo sistema quizas Amakast,te doy una sugerencia porque es un simple mapa  de scroll de 20x15 que representa 320x240  y los calculos  o colisiones es sumamente facil de hacer.Actualmente  lo tengo realizado del otro modo,es decir   si el mapa tiene 4 pantallas horizontales,esto implica  4*20x15x4 mapa de colision o tamaña de la tabla.

2.Ya tengo un sistema de transicion de pantallas ,me gusta mucho el efecto de mega-man, cuando cambia de direccion se para y de forma automatica se mueve el scroll.De momento solo lo activo en el inicio y al final del mapa.Es decir,solo cuando cambio de direccion....en forma de L.

3.De momento dejo de seguir avanzando y me concentro en unir las dos partes que tengo separadas,El proceso camara,que controla el scroll y el proceso jugador que controla las colisiones Y de esto espero que no  salga  un frankeinsten ;D ,pues lo tengo bastante bien estructurado.

Ya os contare...