Encuesta

Mi telefono móvil es un...

01-09-2010 - 71 votos

Destacados Agenda

Más eventos |

Soporte para HTML 5.0 - Canvas en Form4G

02/12/2009 07:40 EFrigerio

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

 

Asteroids.zip

 

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í aquí.

 

Espero vuestros comentarios.

 

Volver a actualidad

Etiquetas: j2se, form4g, Swing, html, canvas, javascript, servlet, jsp

Comentarios: 7

  • abraham 02/12/2009 07:51

    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...

  • EFrigerio 02/12/2009 14:20

    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.

     

  • Anónimo 02/12/2009 15:23

    •  de David Flanagan e agregado un soporte parcial
    •  aun no le e encontrado
    • E agregado soporte para el atributo onkeypress.
    Los pretéritos perfectos compuestos de todos los verbos llevan hache.

     

  • Anónimo 02/12/2009 15:38

    el comentario de los preteritos es sobre java o castellano? hay maestras ciruelas dando vueltas.. al menos  lo han leido

  • EFrigerio 02/12/2009 15:54

     

    Fe de errata

    Donde dice 

               var keyCode = document.getElementById('canvas').getContext('2d');

     

    debe decir

               var keyCode = document.getElementById('canvas').getContext('2d').keyCode;

     

     

  • jmarranz 03/12/2009 13:05

    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

  • supertrasgu 20/12/2009 20:43

    hestoi de hakuerdo kon el hanonimo de las 15:38, los de zienzias podemos hescrivir komo hautentikos hanalfavetos, nos da higual

Escribe tu comentario

Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano