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.

hokuto40

Se me ha ocurrido que podrias meter un acceso de teclado a los botones y editores que trae divgo,ejemplo:

Podrias poner en f1 y f2 el poder abrir y guardar los prg,con esto ya puedo hacer algo.

AmakaSt

Ya está disponible online (para realizar testeos) la versión 1.20.0 de Div GO, y las novedades: 



funciones:
   - set_half_scroll(), key_on(), key_out();

struct scroll:
   - half: x, y, alpha, blur, grayscale, invert, sepia, tone, saturate, brightness;

bugs y mejoras:
   - [ADD] nuevo plano de scroll entre el front y el back, se activa con set_half_scroll()
   - [ADD] optimización de código en el compilador
   - [ADD] optimizado el funcionamiento del teclado
   - [FIX] carga asíncrona de gráficos de formatos distintos a .map
   - [FIX] corregido qsort que dejo de funcionar en versiones anteriores
   - [FIX] degradado de textos y primitivas
   - [FIX] funcionamiento de get_id()
   - [DEL] sistema antiguo de teclado que recorría y comparaba el evento de la tecla pulsada
   - [CHANGE] nuevo sistema de pestañas, ahora se pueden tener más de 4 pestañas
   - [CHANGE] cambio en los estilos del ide para resoluciones más pequeñas
   - [UPDATE] actualizado codemirror a versión mas reciente




Y los ejemplos en breve...

Un saludo.


hokuto40

Hola amakast.

He probado la version web y ahora si que veo todo aunque la lista de ejemplos solo veo hasta el ejemplo de efecto en region,pero esto me da igual,lo importante era la interfaz y ahora si puedo hacer cositas,gracias. ;)

Cuando tengas la version en descarga me pondre a probarlo en profundidad.El ejemplo set_half_scroll() no sale,es otro ejemplo mas antiguo el que sale.

Una preguntita,me comentastes algo sobre divgo 2.0,que tienes pensado hacer para esta version,algun cambio grande o solo pequeñas cositas.

AmakaSt

Hola hokuto40,

El ejemplo se parece a otro antiguo pero veras que hay un scroll con 3 planos y el del medio esta cambiando la tonalidad de forma constante con un efecto blur.

Sobre la 2.0, todo sobre la marcha, todavía quedan muchas versiones hasta llegar. Por ejemplo, cuando alcanzo Div GO la versión 1.0 tenía muchísimas más cosas de las que yo había imaginado en un principio. Y tampoco creía que iba a continuar después de la 1.0. Aunque sí que me gustaría para la 2.0 un IDE que tuviera ayudas mientras programas o te aconsejara sobre las funciones como hace los IDEs más modernos y que el render fuera completamente en webGL, esto ya sería lo ideal. :P

Un saludo.

hokuto40

Pues algo estoy haciendo mal o no entiendo algo ,porque este es el codigo que veo y no veo donde estas utilizando esa funcion.

/*
Program's Name: <My Program Name>
Author's Name: <My Name>
Company's Name: <My Company or Group>
*/

program MyProgramName;
global
// declared global variables
    points = 0;
    hi_score = 0;

begin
set_title("My Program Name");
    set_icon("graficos/009.png");

// screen canvas options
set_mode(480, 320);
screen_color(cc_silver);

set_fps(60, 0);

// call a process
my_process(240, 160);

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

frame;
end
end

process my_process(x, y);
private
//declared private variables
    energy = 100;
    life = 3;
   
begin
graph = 9;
size  = 100;
z   = 10;

loop

frame;
end
end

AmakaSt

Quote from: hokuto40 on April 23, 2019, 03:42:20 PM
Pues algo estoy haciendo mal o no entiendo algo ,porque este es el codigo que veo y no veo donde estas utilizando esa funcion.
Pues sí, tienes razón... Hay un bug! Las nuevas pestañas no cargan los códigos de ejemplo. :P

Sacare versión incluyendo unos pequeños cambios en los estilos que estaba aplicando ya para la próxima versión... Que se le va a hacer.

AmakaSt

Ya está corregido, al final los cambios de estilos que estoy aplicando los he guardado para la próxima versión.  ::)

Ahora ya puedes probar el ejemplo.

hokuto40

Quote from: AmakaSt on April 23, 2019, 11:01:32 PM
Ya está corregido, al final los cambios de estilos que estoy aplicando los he guardado para la próxima versión.  ::)

Ahora ya puedes probar el ejemplo.

En google chrome funciona bien pero en firefox se queda cargando y de hay no sale.

AmakaSt

Firefox (desde hace muy pocas versiones) está bloqueando los rastreadores de Google Analytics y ralentiza / bloquea las cargas. Tendré que mirar de hacer algo con esto, tal vez lo quite de www.divgo.net de forma definitiva.

Y aquí un ejemplo nuevo, funcionamiento de key(), key_on() y key_out(): https://www.divgo.net/c-5e68c540

Un saludo.

panreyes

Buenas AmakaSt :)

Antes de que se empiece a usar, creo que sería buena idea cambiar key_on por key_in.

key_on es más como mantener, key_in es como la tecla que acaba de entrar. Y además es más fácil de asociar key_in y key_out, ya que in & out son antónimos

AmakaSt

Quote from: panreyes on April 24, 2019, 09:59:43 AM
Buenas AmakaSt :)

Antes de que se empiece a usar, creo que sería buena idea cambiar key_on por key_in.

key_on es más como mantener, key_in es como la tecla que acaba de entrar. Y además es más fácil de asociar key_in y key_out, ya que in & out son antónimos
Buenas panreyes,

Gracias por la explicación, lo cambiaré para esta versión antes de ponerlo para descargar, es una corrección fácil. :)

Un saludo.


SplinterGU

ambos son confusos... no son intuitivos... yo te sugeriria llamarlas key_press_started/key_press_ended o key_pressed/key_released, tambien podria ser key_on y key_off, aunque solo la primera started/ended indican un estado delta o evento, los demas podrian ser confundidos como un estado permanente... o sea, esta presionada? esta liberada? key_press_started da a entender claramente que inicia la pulsacion y key_press_ended que finaliza... tambien podrias hacer que key(tecla) devuelva 0 cuando no esta pulsada, 1 cuando esta pulsada, 2 cuando inicia la pulsacion y 4 cuando finaliza (podrias tambien combinarlo como manejo de bits, con lo que inicio seria 3 y soltarla seria 5)

creo que seria mucho mejor ese comportamiento que agregar funciones... no se, son sugerencias.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

AmakaSt

Quote from: SplinterGU on April 25, 2019, 03:21:10 AM
ambos son confusos... no son intuitivos... yo te sugeriria llamarlas key_press_started/key_press_ended o key_pressed/key_released, tambien podria ser key_on y key_off, aunque solo la primera started/ended indican un estado delta o evento, los demas podrian ser confundidos como un estado permanente... o sea, esta presionada? esta liberada? key_press_started da a entender claramente que inicia la pulsacion y key_press_ended que finaliza... tambien podrias hacer que key(tecla) devuelva 0 cuando no esta pulsada, 1 cuando esta pulsada, 2 cuando inicia la pulsacion y 4 cuando finaliza (podrias tambien combinarlo como manejo de bits, con lo que inicio seria 3 y soltarla seria 5)

creo que seria mucho mejor ese comportamiento que agregar funciones... no se, son sugerencias.
Pensé en key_on() y key_out() por nombrarlos de manera similar a como están los fade() con fade_on() fade_off(). Aun así, sí que es verdad que puede ser algo confuso teniendo un nombre tan corto.

Lo del retorno en key() ni me lo había planteado por que actualmente devuelve true o false, 1 o 0. Pero sí que podría estar bien devolver otro valor según el estado y no afectaría a los juegos y ejemplos que ya hay creados.

Gracias por las sugerencias SplinterGU. :)

Un saludo.

hokuto40

Lo mejor es lo que dije al principio,key_pressed() y key_releassed(),creo que esto es lo mas claro.

Hacerlo todo desde el key() me parece que seria algo confuso de primeras.