Div Games en Html5 y Canvas

Started by AmakaSt, September 07, 2012, 03:28:01 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oskarg

Si quieres te paso el código y verás que lo hace a la inversa y claro tengo un cacao a la hora de eliminar un proceso,pues este muere pero me dispara en un proceso que no debería... sabiendo que están a la inversa....pues nada XD los ordeno a la inversa y de ese modo supongo que está noche a la primera funcionará.

oskarg

Hola Amaka..esta noche te digo el navegador que utilizo y sobre el orden de los procesos es así como te expreso .. solo debes crear dos procesos en while e imprimes sus valores..y los guardas en una tabla... Luego en otro proceso expresas que dispare el id de la tabla(0).x y te darás cuenta que dispara el último...la mar de divertido XD

oskarg

Hola Amaka....
Ya funciona te paso el ejemplo con su prg...un par de cuestiones.
1.Confirmo que los id se muestran en orden inverso.
2.No utilizo tablas pues es un cacao de esta manera hacerlo.
3.Tienes un bug bien curioso a la hora de empaquetar....ejecuto divgo la ultima version con xamp y funciona perfecto...pero cuando lo empaqueto y lo lanzo.......sin utilizar divgo en el chrome Versión 71.0.3578.98 (Build oficial) (64 bits) ,no detecta las colisiones y hace cosas rarisimas los procesos XD....pero utilizando el propio divgo NO...
He probado una vez empaquetado ejecutarlo en firefox legacy 52 y funciona perfecto....menos mal...XD
te doy la direcccion para que lo veas ..es un ejemplo de phaser...si quieres que cambie graficos y haga portada y bla..bla ..bla me lo expresas para que la gente vaya aprendiendo a utilizar tu gran engine y yo encantado de hacer si quieres hacer ejemplos con su prg de juegos clasicos... a ver si de esta manera la gente lo conoce ,pues es realmente bueno.
Un saludo...
sobre la carga asincrona sospecho que sera por el navegador de chrome ..mas tarde lo probare y te dire algo al respecto.
http://www.mediafire.com/file/lonylikgjj3fafk/space_invaders0.zip/file

AmakaSt

Quote from: oskarg on February 13, 2019, 08:27:30 AM
Hola Amaka..esta noche te digo el navegador que utilizo y sobre el orden de los procesos es así como te expreso .. solo debes crear dos procesos en while e imprimes sus valores..y los guardas en una tabla... Luego en otro proceso expresas que dispare el id de la tabla(0).x y te darás cuenta que dispara el último...la mar de divertido XD
Vale, ya lo tengo corregido para la próxima versión. Esto esta distinto porque al principio get_id() en Div GO solo devolvía el id del último proceso creado del tipo que indicabas. Por lo que empecé a recorrerlo empezando por el último del mismo tipo hasta devolver 0. :P

Haciendo la comparación con Div DX he visto que en Div GO esto va al revés.

AmakaSt

Quote from: oskarg on February 13, 2019, 10:14:41 PM
3.Tienes un bug bien curioso a la hora de empaquetar....ejecuto divgo la ultima version con xamp y funciona perfecto...pero cuando lo empaqueto y lo lanzo.......sin utilizar divgo en el chrome Versión 71.0.3578.98 (Build oficial) (64 bits) ,no detecta las colisiones y hace cosas rarisimas los procesos XD....pero utilizando el propio divgo NO...
He probado una vez empaquetado ejecutarlo en firefox legacy 52 y funciona perfecto....menos mal...XD
te doy la direcccion para que lo veas ..es un ejemplo de phaser...si quieres que cambie graficos y haga portada y bla..bla ..bla me lo expresas para que la gente vaya aprendiendo a utilizar tu gran engine y yo encantado de hacer si quieres hacer ejemplos con su prg de juegos clasicos... a ver si de esta manera la gente lo conoce ,pues es realmente bueno.
Visto, se lo que te está pasando y no es un bug raro de Div GO, son temas de seguridad de Chrome. En Chrome ejecutar un html como si fuera un ejecutable con url file:/// los scripts petan (si miras en la consola del navegador veras que hay errores de Javascript), ya sea Div GO o usando cualquier otra librería, esto es así. Por temas de seguridad  las páginas web siempre las tienes que visualizar en http o https para que todo funcione bien en Chrome, crea una carpeta en xampp para probar los juegos, por ejemplos: http://localhost/misjuegos/space_invaders (así funciona bien en Chrome y Firefox)

Aquí un par de enlaces sobre ese tema:
http://www.chrome-allow-file-access-from-file.com/
https://stackoverflow.com/questions/28724751/open-local-filesfile-using-chrome

Un saludo.

oskarg

Hola Amaka,
Gracias por la explicación del navegador y el detalle de los ids para la próxima versión.....y del control+z XD.

oskarg

#606
Hola Amaka
te cuento cosas ya te expresé que no me funciona la carga asincrona....
1.Hoy es mi día libre,tus ejemplos que has mostrado me funcionan,pero el problema viene de la extension.Si es de un  tipo .map lo carga,pero si son graficos sueltos tipo png no me carga nada,esto ya me pasaba en las versiones anteriores ...disculpa ya se me habia olvidado de este detalle y como se cargaban ..solo sale una pantalla de color negro .....Hacia semanas que no tocaba divgo y de ahí mi descuido de expresartelo con anterioridad,pues estaba bien ocupado....salvo que me expreses como puedo convertir de png a map lo solvento las cargas asincronas,sino,es imposible....haz la prueba y veras que lo que expreso es de ese modo..
2.Gracias por comentar sobre los navegadores,el vivaldi me ha gustado bastante...
3.Modifico el tutorial para hacerlo mas completo y lo resubo .
Un saludo.


oskarg

http://www.mediafire.com/file/379m8xf2w9vuvst/space_invadersbeta02.zip/file

Añadido titulo,un par de sonidos y aumento de dificultad a medida que pasas de fase y corregida la velocidad,en el navegador vivaldi me va mega fluido y he tenido que rebajar ciertas cosas.
Falta la carga asincrona y comportamiento de diferente de los enemigos,pero ahora como esta diseñado es un cacao guardar los ids por tablas...

AmakaSt

Quote from: oskarg on February 17, 2019, 09:03:37 AM
te cuento cosas ya te expresé que no me funciona la carga asincrona....
1.Hoy es mi día libre,tus ejemplos que has mostrado me funcionan,pero el problema viene de la extension.Si es de un  tipo .map lo carga,pero si son graficos sueltos tipo png no me carga nada,esto ya me pasaba en las versiones anteriores ...disculpa ya se me habia olvidado de este detalle y como se cargaban ..solo sale una pantalla de color negro .....Hacia semanas que no tocaba divgo y de ahí mi descuido de expresartelo con anterioridad,pues estaba bien ocupado....salvo que me expreses como puedo convertir de png a map lo solvento las cargas asincronas,sino,es imposible....haz la prueba y veras que lo que expreso es de ese modo..
Hola oskarg,

Tienes toda la razón, acabo de ver el problema, probaba la carga asíncrona con los gráficos de malvado, pacoman y fostiator, que tiene muchos archivos y veía que la carga funcionaba y lo daba por bueno, no caí en que todos estos están sus gráficos en formato map, que DivGO los trata distintos que otros formatos. Los formatos map, fpg y fnt, se leen y redibujan a png.

Me apunto este problema para corregir.

Gracias por el reporte! :)

Un saludo.

oskarg

beta03 del tutorial Space_invaders..
-Incluido efecto de estrellas en la presentacion del titulo...
-Modificado el comportamiento de los enemigos..ahora cuando matas una columna completa de enemigos...los restantes como debe ser llegan hasta al final x=0 o x=800 ,me ha costado un poco....y van bajando.....
....la proxima incluyo creditos.....records..etc ... ya queda mucho mejor que el original....
http://www.mediafire.com/file/jw89qvmv4z7g78n/space_invaderbeta03.zip/file

EL siguiente tuto sera otra vez de naves,pero esta vez...utilizaremos mapas infinitos.,cohetes que siguen a la nave etc.....lo encuentro muy interesante para aprender y explicarlo.

AmakaSt

Ya tengo corregido lo de la carga asíncrona de formatos png, jpg, gif... (para la versión 1.20)   8)

Está muy bien el tutorial de Space Invaders! Tengo que cambiar el área de juegos desarrollados, para que tenga categorías y con posibilidad de descargar código (en caso de ser tutoriales).
Muchas veces pienso en crear un portal de juegos desarrollados con Div GO, pero requiere de tiempo... a ver si este año en vacaciones me pongo. :P

Un saludo.

oskarg

Hola Amaka,
Perfecto que hayas corregido el problema de las cargas asíncronas.
1.Espero que le sigas dando mimos y añadiendo características o puliendo tu engine,pues con creces es lo más sencillo y versátil a la hora de programar juegos 2d.

2.sobre lo que comentas de crear secciones diferentes me parece una idea acertada..solo hay que mirar pico ,mega limitado en potencial y una resolución que te arruina lucirte gráficamente,pero tiene una gran cantidad de seguidores,como pasa con LOVE lua,una comunidad muy activa y eso que no es tan sencillo de hacer juegos con su sistema.


oskarg

Hola Amaka...
Estoy haciendo un editor de tiles en divgo....
Mi intencion es que sirva para crear los mapas de los juegos en un plis-plas ,pero requiero guardar y cargar mas tarde los valores en una tabla en otra sesion o bien que pueda guardarlo en un mapa por ejemplo png y lo incluya en el fpg directamente  y de esa manera lo podria utilizar como una tabla.....en div existe la funcion  save("carpeta1/mapa.dat") y load("carperta1/mapa.dat") pero en divgo al ser por navegador ni idea .........
Con lo cual,mi sugerencia es ,si no puedo abrir y guardar documentos de la extension que ponga,es que pueda con el lenguaje divgo poder crear un mapa ,le asigno en cada pixel,el color que yo quiero y que lo guarde directamente en el fpg que determine con el numero que yo indique y  de esta manera podria ,luego cargar el grafico ,leerlo como una tabla y solvento el inconveniente.
Un saludo.

AmakaSt

Quote from: oskarg on February 24, 2019, 07:39:43 PM
Hola Amaka...
Estoy haciendo un editor de tiles en divgo....
Mi intencion es que sirva para crear los mapas de los juegos en un plis-plas ,pero requiero guardar y cargar mas tarde los valores en una tabla en otra sesion o bien que pueda guardarlo en un mapa por ejemplo png y lo incluya en el fpg directamente  y de esa manera lo podria utilizar como una tabla.....en div existe la funcion  save("carpeta1/mapa.dat") y load("carperta1/mapa.dat") pero en divgo al ser por navegador ni idea .........
Con lo cual,mi sugerencia es ,si no puedo abrir y guardar documentos de la extension que ponga,es que pueda con el lenguaje divgo poder crear un mapa ,le asigno en cada pixel,el color que yo quiero y que lo guarde directamente en el fpg que determine con el numero que yo indique y  de esta manera podria ,luego cargar el grafico ,leerlo como una tabla y solvento el inconveniente.
Un saludo.

Hola oskarg,

En DivGO puedes guardar o enviar datos de 3 tipos: datos locales, sesión y enviando los valores fuera para que se ocupe un lenguaje de entorno servidor (PHP, ASP, JSP). En entorno servidor es como puedes crear archivos, escribirlos, leerlos y borrarlos.

Aquí te dejo un ejemplo sencillo de como enviar y recuperar datos de puntuación: https://www.divgo.net/c-87f99b8c

Y con este código en PHP guardas y recuperas esos datos en un archivo mapa.dat:
<?php    if (isset($_GET['DivGOvar'])) { //obtiene los datos con save_external_data();
        
$file fopen('mapa.dat''w');
        
fwrite($file$_GET['DivGOvar']);
    } else {
        
$file fopen('mapa.dat''r');
        
$contenido fread($filefilesize('mapa.dat'));
        
        echo 
$contenido//esto lo recogera load_external_data();
    
}

    
fclose($file);

Este archivo es el guardar_datos_archivo.php, que esta utilizando las funciones  save_external_data() y load_external_data().

Puedes guardar y recuperar cualquier tipo de información en el .dat. La información en bytes de una imagen la puedes obtener con la función graphic_explorer().

Un saludo. :)

oskarg

#614
Hola Amaka....
1.Gracias de antemano...pero el ejemplo que has puesto por mas que guarde la puntuacion tocando s y luego la intento cargar pulsando L siempre me da 0.no recupero el valor.......

2.Quiero guardar una tabla[] con x valores.....

3.Respecto lo de php...podrias ser mas preciso...mas extenso en la explicacion,pues me siento perdido....lo tengo que hacer de forma externa?¿?fuera de divgo?¿?.como?¿?

4.No seria mas practico poder crear una nueva funcion y con instrucciones de divgo poder insertar un nuevo mapa directamente al fpg...ejemplo de la nueva funcion...insert_map_fpg(fichero,numero del png donde queremos poner  o posicionar el nuevo png en el fpg).....De esta manera de forma simple puedo utilizar un mapa de un pixel de alto y x de ancho y luego solo debo leer pixel a pixel la posicion...luego seria cuestion rellenar la tabla con este contenido y no seria tan rebuscado.....ES decir previamente creo un new_map de un tamaño cualquiera,luego lo pinto,luego lo inserto al fpg  y de esa manera ya tengo un mapa creado que lo utilizo como informacion..