Hace unos días abraham publico una noticia titulada "Las cosas no pintan bien para JavaFX", en la misma, janatic trajo a colación el soporte de canvas en HTML 5.0, lo que me llevo a aundar un poco en el tema.
Como resultado de esto y basado en un código de la demostración de David Flanagan e agregado un soporte parcial para canvas en Form4G, la demo se basa en el código de ejemplo escrito por Kevin Roast
No es funcional (aun no le e encontrado el truco al manejo del teclado), pero es estable y constituye una buena prueba de concepto.
Descargar Asteroids.zip. Podéis encontrar más información sobre Form4G aquí y aquí.
Espero vuestros comentarios.
Etiquetas: j2se, form4g, Swing, html, canvas, javascript, servlet, jsp
Para ejecutar el código desde Windows es muy probable que necesitéis editar Test1.bat para eliminar la ruta absoluta que se emplea al invocar a la máquina virtual; es decir, cambiar:
"C:\jdk1.6\bin\java"
Por
"java"
Muy interesante la demo, Eduardo. Exactamente ¿qué teclas hay que usar para jugar? Porque no consigo mover la nave...
Como he dicho, aun no le e encontrado el truco al manejo del teclado
El problema esta en este fragmento de javascript del juego.
Game.Main = function()
{ var me = this;
document.onkeydown = function(event)
{
var keyCode = (event === null ? window.event.keyCode : event.keyCode);
if (me.sceneIndex !== -1)
{
me.scenes[me.sceneIndex].onKeyDownHandler(keyCode);
}
};
document.onkeyup = function(event)
{
var keyCode = (event === null ? window.event.keyCode : event.keyCode);
if (me.sceneIndex !== -1)
{
me.scenes[me.sceneIndex].onKeyUpHandler(keyCode);
}
};
};
Aun no he encontrado la forma de abastecer a este evento desde Form4G.
E agregado soporte para el atributo onkeypress en el elemento canvas y un atributo keyCode (var keyCode = document.getElementById('canvas').getContext('2d');) pero no logro integrarlo en el juego.
Otro detalle esta en la complejidad inherente al atributo onload en el elemento body.
Para algunas cosas este evento debería ejecutarse inmediatamente después de creado el árbol DOM (esto es lo que hace Form4G) dando la posibilidad de generar o modificar el HTML de manera dinámica desde javascript.
Pero para otras cosas (como en el juego) debería ejecutarse de cara al usuario, es decir cuando el componente se vuelve visible. De ai la necesidad de un botón start en Form4G.
el comentario de los preteritos es sobre java o castellano? hay maestras ciruelas dando vueltas.. al menos lo han leido
Fe de errata
Donde dice
var keyCode = document.getElementById('canvas').getContext('2d');
debe decir
var keyCode = document.getElementById('canvas').getContext('2d').keyCode;
Un problema: no puedo descargarme del todo el archivo Asteroids.zip supongo que será el dichoso byte erróneo que tiene el motor SourceForge (o como se llame) que se usa en javahispano.net
hestoi de hakuerdo kon el hanonimo de las 15:38, los de zienzias podemos hescrivir komo hautentikos hanalfavetos, nos da higual
Escribe tu comentario