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.

AmakaSt

Aquí un ejemplo de la función get_image_tiles(): http://www.divgo.net/c-bd2fcf35

SplinterGU

Quote from: AmakaSt on May 30, 2016, 08:30:45 AM
Aquí un ejemplo de la función get_image_tiles(): http://www.divgo.net/c-bd2fcf35

curiosa funcion... un cutter...

interesante el efecto... muy bueno!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

AmakaSt

Quote from: SplinterGU on May 31, 2016, 03:13:36 AM
Quote from: AmakaSt on May 30, 2016, 08:30:45 AM
Aquí un ejemplo de la función get_image_tiles(): http://www.divgo.net/c-bd2fcf35

curiosa funcion... un cutter...

interesante el efecto... muy bueno!

Si, en otros lenguajes también se hace de forma similar para tener todos los sprites en un solo mapa, por ejemplo el personaje con todos sus movimientos y trocearlo a unas medidas, todos los trozos quedan guardados en memoria y asociados en un array, como en el ejemplo. :)

SplinterGU

Quote from: AmakaSt on May 31, 2016, 07:26:05 AM
Quote from: SplinterGU on May 31, 2016, 03:13:36 AM
Quote from: AmakaSt on May 30, 2016, 08:30:45 AM
Aquí un ejemplo de la función get_image_tiles(): http://www.divgo.net/c-bd2fcf35

curiosa funcion... un cutter...

interesante el efecto... muy bueno!

Si, en otros lenguajes también se hace de forma similar para tener todos los sprites en un solo mapa, por ejemplo el personaje con todos sus movimientos y trocearlo a unas medidas, todos los trozos quedan guardados en memoria y asociados en un array, como en el ejemplo. :)

en bennugd yo implemente esto hace mucho para los fonts, y tambien creo que expuse la funcion para graficos... en bennugd2 hay algo que va un tanto mas alla y mucho mas optimo en cuanto a recursos, incluso en cuanto a GPU...

me gusto mucho ver el efecto... felicitaciones por el trabajo que estas llevando!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

De hecho, DIV2 ya incluía una herramienta que soportaba sprites de diferentes tamaños. Era la herramienta para importar/exportar mapas a FPG. Requería que los sprites estuvieran dibujados sobre el color de fondo (aka color 0) y rodeados de un cuadrado de diferente color.

Mola la herramienta :) Aunque ¿qué ventajas tendría frente a usar la herramienta map_block_copy, aparte de la velocidad?
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)

AmakaSt

Gracias SprinterGU. :)

Quote from: Drumpi on May 31, 2016, 01:15:48 PM
De hecho, DIV2 ya incluía una herramienta que soportaba sprites de diferentes tamaños. Era la herramienta para importar/exportar mapas a FPG. Requería que los sprites estuvieran dibujados sobre el color de fondo (aka color 0) y rodeados de un cuadrado de diferente color.

Mola la herramienta :) Aunque ¿qué ventajas tendría frente a usar la herramienta map_block_copy, aparte de la velocidad?

Realmente... Si te digo la verdad... no recordaba map_block_copy... :P este requería de un grafico en donde pegar los trozos y todos partían de este mismo grafico, con un mismo punto de control y no se asocia a una variable si no al grafico y si quieres cambiar en el proceso el grafico con otro bloque debes volver a llamar a map_block_copy y cambiar la posición x e y... Con get_image_tiles se crean 160 gráficos cortados independientes (en memoria), se le puede poner sus puntos de control, aplicar efectos y van asociados a un array que puedes usar en cualquier momento.

Un saludo. :)

AmakaSt

#366
No he explicado bien la función get_image_tiles, acabo de releer lo que he escrito, es lo que tiene escribir con el móvil... No genera 160 gráficos de manera estándar, el número de gráficos varía según el tamaño de la imagen y del corte. En el ejemplo la imagen de Dr. Malvado es de 320×200 y el corte es de 20×20 por lo que genera 160 imágenes troceadas.

Un saludo. :P

Drumpi

No, si te he entendido.
Lo que yo me refiero es que con código Bennu puedes crear x*y mapas con new_map, y luego usar map_block_copy para rellenarlos con las diferentes partes del gráfico, igual que la herramienta... salvo que estás usando funciones de la familia PUT, que son lentas, y la velocidad se resiente en el momento de crearlos (y que creo que tienes que clonar el mapa original, por aquello de que origen y destino debían tener el mismo valor de file).

Pero vamos, que muchos novatos te lo van a agradecer eternamente ;)
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)

AmakaSt

Div GO versión 0.94 ya esta disponible para descargar. :)

AmakaSt

Div GO versión 0.96 ya disponible online, las novedades:

funciones:
   - change_notifications(), notification();

variables:
   - b_battery_charge, b_battery_level, b_battery_time;

bugs y mejoras:
   - [ADD] sistema de notificaciones
   - [ADD] aviso de error al reasignar un valor a una constante
   - [ADD] opción para programar con el editor al tamaño completo de la pagina
   - [ADD] opciones de empaquetado: minificar código html, añadir botón de fullscreen
   - [ADD] nuevo parámetro opcional en las funciones region_wave() y wave_in_map(), para separar por un número determinado de pixeles el efecto
   - [CHANGE] cambio interno en el dibujado de scrolls para mejorar ligeramente la performance
   - [CHANGE] ahora load_fpg() devuelve un valor entero según los fpg que han sido cargados en memoria como hacía div 2
   - [CHANGE] la variable local file hace uso de valores enteros, en div go (file=0) es la ruta 'graficos' por lo que el primer load_fpg() corresponderá al (file=1)
   - [CHANGE] cambio interno en el nombre de las funciones de div go para que no se pise con variables y funciones de futuras librerías
   - [FIX] reducción en el tamaño del array de instrucciones, donde se guarda cada fragmento de código
   - [FIX] solucionado un antiguo error en la construcción de código localizado al realizar los últimos cambios


Ejemplos de las nuevas funciones, en breve.

Un saludo. :)

AmakaSt

Y aquí dejo ejemplos de las últimas novedades.

Ejemplo de la función notification: http://www.divgo.net/c-b8f67d42
Ejemplo de control de batería con la función get_browser: http://www.divgo.net/c-bdb4d18f

Un saludo.

AmakaSt

Ya disponible para descargar la versión 0.96.  8)

Un saludo.

AmakaSt

Al fin, recién salida del horno... la versión 1.00 de Div GO ya está disponible online, y las novedades:



funciones:
   - link(), move_link(), delete_link(), vibration();
   - enable_notifications(), enable_geolocation();
   - clear_map(), clear_map_put(), clear_map_xput();
   - refresh_scroll();

variables:
   - all_links, b_geo_latitude, b_geo_longitude;

bugs y mejoras:
   - [ADD] opción de crear nuevo gráfico, desde añadir gráfico del visor fpg
   - [CHANGE] cambios internos en funciones gráficas como map_put_pixel(), map_xput(), map_block_copy()... ahora debería funcionar como en div2
   - [FIX] correcciones en el editor gráfico: en la inserción de nuevos gráficos y en el borrado de gráficos editados
   - [FIX] solucionado varios problemas leves relacionados con los cambios internos de la última versión




En breve iré subiendo ejemplos de las nuevas funciones. :)

Un saludo.

AmakaSt

#373
Ejemplo de la función vibration: http://www.divgo.net/c-496a152a (solo para móviles o que tenga sistema de vibración y este activa)
Ejemplo de la función clear_map_put: http://www.divgo.net/c-2dff40ae
Ejemplo de la función clear_map_xput: http://www.divgo.net/c-f11c03b6

AmakaSt

La versión 1.00 ya se encuentra disponible para descargar.

Un saludo.