Autor Tema: Div Games en Html5 y Canvas  (Leído 253021 veces)

oskarg

  • Sr. Member
  • ****
  • Mensajes: 298
  • Karma: 2
Re:Div Games en Html5 y Canvas
« Respuesta #975 en: Diciembre 06, 2021, 10:28:59 am »
Y aquí adjunto el efecto que funciona en div3 y no en divgo,creo que así se entenderá mejor...

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 575
  • Karma: 18
    • Amaka Soft
Re:Div Games en Html5 y Canvas
« Respuesta #976 en: Diciembre 09, 2021, 10:09:40 pm »
Hola oskarg,

Ya he corregido ese problema, estaba en la función map_get_pixel() que guarda la primera vez que llamas los datos de la imagen en cache para que fuera mas rápido accediendo a ellos y los cambios en los mapas no los interpreta. Por eso no se sigue pintando la línea solo detecta el primer pixel blanco incluido.

Sobre la descarga de empaquetados en la versión desktop, a mi me funciona (dejo captura), mira que no sea por temas de permisos de windows.

Un saludo.

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 575
  • Karma: 18
    • Amaka Soft
Re:Div Games en Html5 y Canvas
« Respuesta #977 en: Diciembre 27, 2021, 06:01:26 pm »
Ya disponible online la ultima versión 1.44.0 de Div GO para testeo y las novedades:


funciones:
   - fix(), regex();   

bugs y mejoras:
   - [ADD] soporte de flags en tiles desde editor de mapas de tiles
   - [ADD] mensajes y control de errores producidos por javascript al carga y que no bloquee la página
   - [FIX] sin suavizado en funciones draw cuando screen_smooth es false
   - [FIX] formas (círculos y líneas) sin suavizado en editor gráfico
   - [FIX] corregido desplazamiento de scroll central o medio
   - [FIX] función map_get_pixel() para que no guarde en cache la imagen
   - [FIX] efecto blur de regiones para que no muestre los bordes de la región
   - [FIX] problema al guardar cambios en tamaño de imagen desde el editor
   - [CHANGE] funciones matemáticas para que devuelva valor decimal



Ejemplo función fix(): https://www.divgo.net/c-32e17f06
Ejemplo funcion regex(): https://www.divgo.net/c-80b04b7e

Un saludo y felices fiestas.  :)

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 575
  • Karma: 18
    • Amaka Soft
Re:Div Games en Html5 y Canvas
« Respuesta #978 en: Diciembre 28, 2021, 11:50:26 am »
Ya disponible para descargar la versión 1.44.0 de Div GO: https://www.amakasoft.com/herramientas/div-go.html

oskarg

  • Sr. Member
  • ****
  • Mensajes: 298
  • Karma: 2
Re:Div Games en Html5 y Canvas
« Respuesta #979 en: Diciembre 28, 2021, 12:22:52 pm »
Hola AmakaSt,
felices fiestas...
Dos cosas,he trasteado divgo y me ha salido el mensaje y control de errores con una pantalla de color muy peculiar,buen aporte...
2.Deberias unificar la forma en como se manipulan los pixeles internamente en divgo.Me explico...por ejemplo map_put_pixel vs graphic explorer.La primera opcion es lentisima comparada con la segunda.adjunto los dos ejemplos para que veas con claridad la prueba
un saludo.
metodo 1:lento
Código: [Seleccionar]

/*
 * colores.PRG by tt
 * (c) 2021 tt
 */

PROGRAM colores;
global
    fichero ;
    colores;
    i;
    j;
    xx;
    yy;
    veces;
    cambia;
BEGIN
   set_mode(m320x240);
   fichero=load_fpg("graficos/help");

   write_int(0,10,10,0,offset cambia);

file =fichero;
x=320/2;
y=240/2;
graph= 1;




  loop
 
colores =rand(0,255);

 for (j=0;j<320;j++)
  for (i=0;i<240;i++)
       map_put_pixel(fichero,graph,j,i, rgb(colores,0,colores));
       
 
  end
  end
 




 
 
  cambia++;
  frame;
  end


end



metodo 2 rapido
Código: [Seleccionar]

// Div GO : Games Online > Example
// Php + Html5 + Canvas + Javascript
// by J. Manuel Habas

program example_graphic_explorer;

global

i, graph1;
    colores;
    veces;

begin
set_mode(320, 240);
    screen_color(#059);
      write_int(0,100,100,0,offset veces);


     x=320/2;
     y=240/2;
    graph1 = graphic_explorer(0, 14);
   
    loop
   
       
        colores =rand(0,255);
     



        for (i = 0; i < sizeof(graph1.data); i+=4)
       
       
                graph1.data[i] = colores ;
                graph1.data[i+1] = 0 ;
                graph1.data[i+2] = colores ;
                graph1.data[i+3] = 255;
         end       
               
     

            graph = graphic_builder(graph1);
 

             veces++;
       
             frame;
    end
end


« última modificación: Diciembre 28, 2021, 12:24:48 pm por oskarg »

oskarg

  • Sr. Member
  • ****
  • Mensajes: 298
  • Karma: 2
Re:Div Games en Html5 y Canvas
« Respuesta #980 en: Diciembre 28, 2021, 03:27:38 pm »
Hola de nuevo,
Como diablos va ahora el seno y el coseno ?¿? ;D no me entero nada. ufff!!!





[/code]



UN bug que me crashea divgo por completo.estoy utilizando xamp ...sera por los comentarios cosa que no deberia....
Código: [Seleccionar]
/*
Program's Name: <My Program Name>
Author's Name: <My Name>
Company's Name: <My Company or Group>
*/

program MyProgramName;
global
valor ;
begin
set_title("My Program Name");
    set_icon("graficos/009.png");

// screen canvas options
set_mode(400, 400);
screen_color(cc_silver);

set_fps(60, 0);
    write_int(0,100,100,0,offset valor);

   tiro ();

loop
if (key(_esc)) exit("Text Exit", 1); end

frame;
end
end





process tiro()
BEGIN


END

/*
process tiro()
private v0,g,x0,y0,angulo,t,pii,toco;

BEGIN
graph = 1;
size  = 50;
x0 = 50;
y0 = 150;
pii= 3.1416;
angulo = 75;
t = 0;
v0 =40;
g= 9.8 ;


x=x0;
y=y0;
 valor = cos(90)/1000 ;

loop


if (key(_a))

 x = x0 + v0 * cos(angulo * Pi /180) * t/1000;
 y = y0 + v0 * sin(angulo * Pi /180) * t/1000 - 0.5 * g * t * t; 
 t=t+0.2;
end
 
frame;
end

END






g = 9.8 m/s2 | H = 30.00 m | α = 1.24 rad
 
v0 = 9.00 m/s
v0x = v0 · cos(α) = 9.00 · cos(1.24) = 2.92 m/s
v0y = v0 · sin(α) = 9.00 · sin(1.24) = 8.51 m/s
 
x = vx · t = 2.92 · 1.16 = 3.39 m
y = H + v0y·t - 1/2 · g · t2 = 30.00 + 8.51 . 1.16 - 1/2 · 9.8 · 1.162 = 33.28 m
 
vx = v0x = 2.92 m/s
vy = v0y - g · t = 8.51-9.8 · 1.16 = -2.86 m/s

*/







Esto me pasa en un codigo bien extenso y me peta completamente en xamp .EN version desktop me sale el icono continuo de cargando completamente y me afecta todas las versiones de divgo.Deberia haber un modo de arrancar divgo sin este problema.




« última modificación: Diciembre 28, 2021, 03:51:36 pm por oskarg »

AmakaSt

  • Hero Member
  • *****
  • Mensajes: 575
  • Karma: 18
    • Amaka Soft
Re:Div Games en Html5 y Canvas
« Respuesta #981 en: Diciembre 28, 2021, 07:54:34 pm »
Buenas oskarg,

De los métodos que mencionas, es que son distintos y trabajan de forma diferente. Las funciones graphic_builder() y graphic_explorer() están fuera del bucle grande y map_put_pixel() esta dentro de ese bucle, con graphic_explorer() obtienes los datos de la imagen y haces los cambios en el bucle y a luego recompones la imagen con graphic_builder(), es lo correcto. Con map_put_pixel() hace algo parecido a los otros dos pero sin trabajar con los datos de la imagen por lo que acaba siendo mucho más lento al estar todo integrado y dentro del bucle grande.

Sobre el bug, no consigo reproducirlo, copiando el código que has puesto me aparece un 0 en pantalla y parece funcionar bien y sin bloqueos.

Un saludo.

oskarg

  • Sr. Member
  • ****
  • Mensajes: 298
  • Karma: 2
Re:Div Games en Html5 y Canvas
« Respuesta #982 en: Diciembre 28, 2021, 08:31:32 pm »
Gracias AmakaSt por probarlo,
he instalado una version mucho mas reciente de xamp y me funciona ahora correctamente.