Mostrando entradas con la etiqueta html5. Mostrar todas las entradas
Mostrando entradas con la etiqueta html5. Mostrar todas las entradas

domingo, 21 de enero de 2018

Como usar Gridlayout en CSS3

Para ver en youtube clic aquí
(No olvides suscribirte)

CSS Grids

Código CSS 

.contenedor {
           display: grid;
           grid-template-columns: repeat(2, 65px);
           grid-template-rows: repeat(4, 45px);
           grid-gap: 10px 10px;
           grid-auto-rows: 80px;
       }
       .celda {
           background-color: red;
       }
       .uno {
           grid-column: 1;
           grid-row: 1;
       }
       .dos {
           grid-column: 2;
           grid-row: 1;
       }
       .tres {
           grid-column: 1;
           grid-row: 2;
       }
       .cuatro {
           grid-column: 2;
           grid-row: 2;
       }

       .cinco {
           grid-column: 1;
           grid-row: 3;
       }
       .seis {
           grid-column: 2;
           grid-row: 3;
       }
       .siete {
           grid-column: 1 / span 2;
           grid-row: 4;
       }
       .ocho {
           grid-column: 1;
           grid-row: 5;
       }
       .nueve {
           grid-column: 2;
           grid-row: 5;
       }

Código HTML


<div class="contenedor">
        <div class="uno celda">A</div>
        <div class="dos celda">B</div>
        <div class="tres celda">C</div>
        <div class="cuatro celda">D</div>
        <div class="cinco celda">E</div>
        <div class="seis celda">F</div>
        <div class="siete celda">G</div>
        <div class="ocho celda">H</div>
        <div class="nueve celda">I</div>
    </div>

Mis enlaces sociales

domingo, 3 de diciembre de 2017

Como hacer un juego de naves en CSS3 puro

Para ver en youtube clic aquí
(No olvides suscribirte)

Hacer juegos en CSS3 puro es teoricamente posible, pero es justo aclararle a los principiantes que
este no es el propósito de CSS3 por lo que hacerlo realmente se convierte en, un reto, un ejercicio interesante o una forma divertida de mostrar tus habilidades. En el tutorial de arriba haremos un juego de naves en CSS3 puro

Descargas


Enlaces sociales




domingo, 22 de octubre de 2017

Como usar la Gamepad API

(No olvides suscribirte)

GamePad API

     Hacer juegos interesantes en javascript no solo consiste en desarrollar el juego propiamente dicho, también un buen juego es aquel que brinda a los jugadores de buenas opciones de interactividad, que mejor forma de interactuar con un juego que con un Gamepad, anteriormente acceder al hardware desde el navegador requería de plugins, pero la evolución constante de este lenguaje ahora nos permite acceder entre otras cosas a los Gamepads conectados en nuestra computadora, en el tutorial de arriba aprenderemos a utilizar esta API.

Descargas



domingo, 1 de octubre de 2017

Las posiciones y el float en detalle


Para ver en youtube haz clic aquí
(No olvides suscribirte)

Las posiciones

   Sin CSS los elementos se posicionan de acuerdo al flujo del html, que no es mas que el orden en el cual aparecen en nuestro código. Con CSS tenemos varias opciones para cambiar esto, pero de forma intuitiva no es tan fácil saber la diferencia entre cada uno.
  1. Static: La opción por defecto no hay que especificarla, los elementos se ubican de acuerdo al flujo HTML, y esto no se puede cambiar, propiedades como left o top son ignoradas.
  2. Relative: Relativo a si mismo, el elemento se va a ubicar de acuerdo al flujo HTML y se va a respetar el espacio ocupado
  3. Absolute: Los elementos quedan fuera del flujo HTML, el espacio ya no es ocupado
  4. Fixed: Los elementos se ubican de acuerdo al "viewport"
  Para un mejor entendimiento de todo esto, te recomiendo ver el video que acompaña a esta entrada

El Float

  El float no es una posición como tal, pero si nos permite posicionar los elementos, la confusión con esta propiedad proviene del hecho de que, aplica un comportamiento, no solo al elemento como tal, si no a todos los elementos que le sigan. Puede recibir, 4 valores, pero los mas importantes son dos, rigth y left, que en español significa derecha e izquierda respectivamente, cada uno hace que el elemento se ubique lo mas hacia el lado como sea posible y luego todos los elementos siguientes se ubican alrededor del lado opuesto. Para una mejor explicación te recomiendo ver el video que acompaña a esta entrada, a partir del minuto 13:22 que es donde comienza el apartado sobre el float

domingo, 20 de agosto de 2017

Que es y como usar la Web Animations API

(No olvides suscribirte)

  En este nuevo tutorial del canal, aprenderemos a utilizar la Web Animations API, que nos permite animar los elementos del DOM, accediendo a las mismas características disponibles en las animaciones CSS3, esto se logra combinando el modelo de tiempo con el modelo de animación. Como veremos la sintaxis a utilizar recuerda mucho a los "@Keyframes" usados en CSS3, pero la potencia de un lenguaje de programación nos permitirá un mayor control de la misma

¿Que diferencia tiene con requestAnimationFrame?

  Esa es una buena pregunta, si te la estas haciendo felicidades, básicamente Web Animations API va de la mano con el DOM, por lo que sirve exclusivamente para animar elementos presentes en el DOM, no podremos usarla para animar pixeles dentro del Canvas.
  En el video de la próxima semana se hablará mas profundamente sobre esto así que te recomiendo pasarte por el canal y suscribirte

Descargas


domingo, 6 de agosto de 2017

Top de editores livianos

Para ver en youtube clic aquí
(No olvides suscribirte)

  Editores livianos hay muchos, ¿Pero cual elegir? en este video te comparto mi opinión personal al respecto, comparando las principales características de los editores que yo mas conozco. Obviamente hay muchos otros y sería imposible nombrarlos todos es por eso que hago énfasis al mencionar que estos son los que yo conozco.

Enlaces sociales:

domingo, 25 de junio de 2017

Mejorar el rendimiento de juegos HTML5

No olvides suscribirte

   Dependiendo de nuestro juego, el rendimiento puede llegar a ser un dolor de cabeza, y en general para el desarrollo de juegos es algo que casi siempre hay que tener presente, tanto en el video como en esta entrada voy a hablar de 3 técnicas para mejorar el rendimiento.

Pre-renderizar

  Por una razón que cuesta un poco entender, es mas eficiente dibujar en un canvas virtual y luego cargar todo al canvas principal, que directamente dibujar en un solo canvas. Esto es muy sencillo de lograr.
  Primero el canvas virtual lo hacemos así :
 var preRender = document.createElement("canvas");
 var vctx = preRende.getContext("2d");

  Todo el juego va a ser dibujado usando este contexto "virtual", y luego en el canvas "real" hacemos así:
ctx.drawImage(preRender, 0, 0);
  
Donde "ctx" es el contexto del canvas "real"

Extracción de propiedades

  Cuando limpiamos el canvas usando "clearRect" y en alguna otra circunstancia, aveces hacemos cosas como: "canvas.width" si esto se hace dentro de nuestro bucle de juego, en cada iteración se va a extraer la propiedad del objeto a través del DOM lo cual requiere mas trabajo que pasar el número directamente, o crear una variable que almacene el valor una sola vez:
   var anchoJ = canvas.width;
   var altoJ = canvas.height;
Luego en nuestro bucle de juego las usamos así:
  canvas.clearRect(0,0,anchoJ,altoJ);
 En lugar de "extraer" la propiedad en cada iteración 

Limpiar solo las diferencias y no to el canvas

  Para lograr la animación es necesario el uso de "clearRect", pero no siempre es necesario que se limpie todo el canvas, podemos limpiar solamente lo que necesitemos ahorrandonos una infinidad de recursos en el camino. Esto puede variar dependiento de cada juego, puedes ver un ejemplo en mi video, pero en general sería algo así :
  canvas.clearRect(prevX, prevY, ancho, alto);

  Donde las variables "prevX" y "prevY" son las últimas posiciones "X" e "Y" utilizadas, las variables "ancho" y "alto" van a depender también del área que queramos limpiar.  Una forma de tratar esto, como lo hago en mi video es que cada objeto en su función de movimiento, se limpie a si mismo, por lo que estas dos últimas variables sería en ancho y alto del objeto en cuestión.

Descargas

  Aquí puedes descargar el código fuente hecho en el video:

domingo, 4 de junio de 2017

Placeholder animados en CSS3


Para ver en Youtube clic aquí

Placeholder animados

  El placeholder es una porción de texto que se puede colocar para indicarle al usuario lo que debe rellenar en un formulario, existen formas de estilizarlo desde css3, para que no se convierta en un simple texto aburrido, estas sin embargo son experimentales y no funcionan de la misma manera en todos los navegadores. Aquí aprenderemos a usarlas y haremos efectos muy interesantes usando las transiciones.

Descargas


Ponte en contacto conmigo 


domingo, 9 de abril de 2017

Animaciones para juegos HTML5


Para ver en youtube clic aquí (No olvides suscribirte)


Las Animaciones

   Un juego es prácticamente una animación controlada, así que las mismas son uno de los ejes centrales a la hora de desarrollar juegos en cualquier lenguaje, si ya viste la clase a continuación, una descripción detallada de cada una de las funciones usadas en los ejemplos y al final los enlaces de descarga para los ejemplos desarrollados

Funciones de animación

  • setTimeout() : Posee dos parámetros el primero es la función a llamar y el segundo es el tiempo en mili-segundos que la función va a esperar antes de llamar a la función del primer parámetro
  • setInterval() : Al igual que la anterior posee dos parámetros, el primero la función y el segundo el tiempo, igual que el anterior, la diferencia es que la función se va a estar llamando continuamente, separada por el espacio de tiempo definido en el segundo parámetro que al igual está en mili-segundos
  • requestAnimationFrame() : Simplemente intenta llamar a la función que representa nuestro cuadro de animación, asegurándose primero de que existan los recursos disponibles para ejecutar dicho cuadro, para poder usarla en animaciones hay que hacer llamadas recursivas, mas información en este video: https://www.youtube.com/watch?v=zlclLs_m0mI

Explicando las funciones de dibujo

  • fillRect(x,y,w,h) : Nos dibuja un rectángulo, el primer parámetro (x) representa la coordenada x del mismo,  el segundo (y) la coordenada y, el tercero (w) el ancho y por último el cuarto (w) el alto
  • clearRect(xy,w,h) : Definimos un rectángulo con los mismos parámetros de la función anterior, todo lo que esté en el área de efecto de este rectángulo se borrará
  • fillStyle : No es una función sino una propiedad, aquí definimos el color que llevará el canvas

Descargas de códigos fuente


Enlaces útiles


Enlaces sociales



domingo, 2 de abril de 2017

SVG vs Canvas vs Divs Gráficos para juegos HTML5


Para ver en youtube clic aquí


Gráficos para juegos

  Tenía desde el pasado diciembre la promesa de subir un curso dedicado a juegos, el día de hoy comparto con ustedes la primera clase, aprenderemos aquí cual es la mejor opción para los gráficos y la razón detrás de esto, veremos también algunos ejemplos que nos serán de mucha utilidad, si el video te gusta y te es útil por favor no se te olvide hacer clic en el pulgar arriba y suscribirte al canal

Links útiles

sábado, 10 de diciembre de 2016

Que son y como usar Sprites en CSS


Para ver en youtube clic aquí
(No olvides suscribirte)


Las peticiones y la velocidad

  Algo que pareciera obvio mencionar es que cada vez que colocamos imágenes en nuestra web esta va a tardar mas en descargar, esto no solo se debe al peso agregado de estos archivos de imagen, si no también al aumento en el número de peticiones hacia el servidor web, por supuesto que no tiene sentido simplemente dejar de utilizar imágenes, estas no son imprescindibles para el funcionamiento de nuestra página, pero sin ellas perdería atractivo y con ello dejaría de atraer visitantes. Peticiones adicionales al servidor se crean cuando, por ejemplo, hacemos un efecto de "hover" con imágenes, ya que javascript solicitaría una nueva imagen al servidor.
   Nos podemos ahorrar muchas peticiones al servidor usando una técnica muy sencilla, que es mas que todo útil a la hora de trabajar con iconos en nuestra web, simplemente posicionemos todos nuestros iconos en una sola imagen grande y con CSS la movemos para mostrar solamente el icono que queremos usar, esta imagen grande la podemos denominar "Sprite" y a continuación te muestro dos de los ejemplos usados en el videotutorial de arriba:




  En el tutorial de arriba aprenderás no solo implementar los Sprites en Css, sino como también a hacer tu propio sprites desde Photoshop

Descargas

HTML :



Imágenes :



Otros
Estos archivos representan el contenido de los iframes usados en el video



Conectate con migo





   

sábado, 26 de noviembre de 2016

Como hacer un juego de Pong con Javascript y Canvas


Para ver en Youtube clic aquí
(No olvides suscribirte)


Uno de los primeros juegos comerciales

   Este juego fue creado y lanzado por Nolan Bushnell el 29 de Noviembre de 1972, para una de las primeras generaciones de videoconsolas, las famosas Atari y está basado en el tenis de mesa. Este clásico a su vez también esta rodeado de controversia, ya que en sus inicios fue objeto de una demanda por parte Magnavox Odyssey ya que estos poseían un juego similar.

Descargas

Plantilla HTML: Base inicial del código visto en el tutorial

domingo, 20 de noviembre de 2016

Que es y como usar requestAnimationFrame en javascript


Recuerda a suscribirte

No mas setInterval

  Hace no mucho tiempo, la única alternativa para poder ejecutar nuestro bucle de juego, era anidar setTimeout recursivamente o simplemente llamar a setInterval, pero estas nunca fueron ni de cerca la mejor alternativa, simplemente eran las únicas. En este punto nos podemos preguntar, ¿Cual de las dos es mejor? definitivamente setInterval es más eficiente que setTimeout, pero eso no significa que la primera este libre de problemas.

requestAnimationFrame

   Esta función fue inicialmente introducida por la gente de Mozilla y pronto fue adoptada por los demás navegadores, anteriormente el uso de las ya mencionadas "setTimeout" y "setInterval" requerían que el desarrollador se encargara de ajustar la frecuencia de los cuadros para que el juego o animación en cuestión, se ejecutase correctamente, te recomiendo ver el video de arriba para que veas un ejemplo práctico del uso de esta función.
  La frecuencia de los cuadros con "requestAnimationFrame" es ajustada directamente por el navegador, lo que permite simplificar el desarrollo, esta puede llegar hasta unos 60 cuadros por segundo, a continuación veremos algunos problemas causados por "setInterval" para que entendamos mejor la ventaja de usar "requestAnimationFrame"

Las colas y el exceso de memoria 

   A "setInterval" no le importa si el navegador esta listo, o no, para ejecutar el siguiente cuadro de animación o juego, su segundo parámetro realmente no nos dice cuando será llamada la función, simplemente nos dice cuando esta será agregada a la cola, si el navegador está muy ocupado, "setInterval" continuará agregando llamadas a nuestra función de cuadros a la cola, lo que se traduce en un excesivo e innecesario uso de la memoria, si se está ejecutando en un dispositivo móvil esto se traducirá en consumo de batería. Cuando hacemos una llamada a nuestra función de cuadro con requestAnimationFrame, esta se encarga de preguntarle al navegador si es posible renderizar el cuadro o no, evitando así acumular peticiones en cola alguna.

El navegador no es vidente

  Con "setInterval" no es posible saber que se va a llevar a cabo, ya que esta función fue creada con un propósito muy genérico, en cambio "requestAnimationFrame" le informa al navegador la intención de realizar una animación, lo que permite al navegador optimizar sus prioridades lo mas posible, resultando en ejecuciones mas fluidas y menos propensas a retrasarse.

Las animaciones solo son relevantes si se pueden ver

  Con eso dicho, si minimizamos o cambiamos de pestaña, el navegador reducirá la prioridad para nuestro juego o animación, por lo que se evitará el exceso de consumo en recursos, esto no necesariamente tiene que ser así con "setInterval".

Descargar archivos del tutorial

   A continuación en los siguientes enlaces podrás descargar los archivos usados en el videotutorial, códigos fuentes e imágenes.
Instrucciones de descarga: Luego de hacer clic, se abrirá otra pestaña, debes esperar unos segundos a que aparezca el botón con el texto: "Saltar publicidad", debes hacer clic en ese botón y se abrirá nuevamente otra pestaña con el archivo deseado para que lo descargues 

Plantilla HTML: Documento html con etiqueta canvas y el estilo css

Código fuente final: Ejemplo completo de lo hecho en el video tutorial

Imagenes usadas: Para el botón play y pausa


Más información






sábado, 12 de noviembre de 2016

Juego del dinosaurio de Chrome en Javascript


Para ver en youtube clic aquí
(No olvides suscribirte)


Juego del T-rex

   El famoso dinosaurio de google, odiado por muchos, ya que su presencia se traduce automáticamente en la perdida de una de las cosas que mas anleamos en la actualidad: El internet, lo que algunos no conocen de este infame personaje es que puede cobrar vida con tan solo presionar la tecla de espacio, hecho esto tendremos que esquivar cactus y pterodactylus con forme la velocidad aumenta con el tiempo y a su vez nuestro puntaje, parece algo muy simple, pero contrario a todo pronostico se ha convertido en adicción de muchos.

  En el video de arriba aprenderás a programar tu propia versión del juego en Javascript, y acontinuación aprenderás a agregar algunos elementos que se omitieron en el video para no hacerlo muy largo

Nuestra versión hecha en Javascript

La versión original de Google Chrome

Implementando las nubes

  Si ya completaste el tutorial, no te será muy dificil implementar las nubes, lo haremos de forma similar a lo que hicimos con los cactus, pero como no necesitamos iterar a través de ellas, no llevaremos la cuenta de los elementos siguientes, solo las dibujaremos, debemos recordar que para darle un efecto de profundidad estas deben moverse a una menor velocidad, esto se conoce como parallax y en la imagen a continuación podemos ver un ejemplo


  Vamos a implementar las nubes de la forma más sencilla posible, por lo que no le daremos distancia ni tamaño aleatorio, si no fijo, en nuestro mundo agregamos las siguientes lineas al constructor:

                this.imgNube = document.createElement("img");
this.imgNube.src = "imagenes/nube.png";
this.nx = 350;
this.ny = 50;
this.nd = 250;
Acabamos de agregar la imagen con la cual vamos a dibujar las nubes, y luego procedemos a darle: posición "x", "y" y distancia, que como dije arriba serán fijos, pero no te desanimes por esto, el resultado de esta forma se ve bien.
  Luego en nuestro método "mover" haremos lo siguiente:
                
                this.nx-=2;
  
  Esto logrará que nuestras nubes se muevan mas lentamente que el resto de nuestro mundo, creando el efecto de profundidad

Descargar  imágenes y código fuente

Nota: al hacer clic en el enlace se abrirá una nueva ventana, deberás esperar a que aparezca el botón con el texto "Saltar publicidad" debes hacer clic en él y debería llevarte al archivo deseado, si no es así avísame inmediatamente en un comentario

Pack de imágenes y sonido  Este archivo es un winrar con todas las imagenes utilizadas en el tutorial

Plantilla HTML  Documento html con sus canvas divs botones e imagenes ya listo para que solo tengas que escribir Javascript

Código fuente del video  Este archivo representa lo hecho en el video tutorial, osea el juego sin las nubes ni los pterodactylus (Solo archivo javascript para el resto la plantilla HTML)

Código fuente completo  Todo lo hecho tanto en esta entrada como en el video (Solo archivo javascript para el resto la plantilla HTML)

Sigueme en mis redes sociales y suscríbete a mi canal de Youtube


domingo, 6 de noviembre de 2016

Controles animados para el reproductor HTML5 en Css3


Para ver en youtube clic aquí
(No olvides suscribirte)


Reproductor HTML5 personalizado

  A continuación te presento una lista con todos los enlaces a los tutoriales del reproductor HTML5
    Parece ser un elemento esencial de los reproductores personalizados, bien sea aparecer o desplazarse hacia arriba, le da un toque mucho más especial a nuestro reproductor, en este tutorial aprenderás a animar la barra de controles de un reproductor html5 personalizado.

Descargar código fuente

Nota: Luego de hacer clic en el enlace debes esperar a que aparezca el botón de saltar publicidad, debes hacer clic en ese botó y debería llevarte directamente al archivo



sábado, 22 de octubre de 2016

Efecto persiana en Css3 y Javascript


(Recuerda suscribirte)

Acerca del Tutorial

  En este nuevo tutorial aprenderemos a crear un efecto de transición de persiana, mas específicamente me refiero al estilo de persiana veneciana, la cual está compuesta de diferentes paneles que se ladean para revelar lo que se encuentra detrás, este efecto puede ser útil para crear galerías. Es de notar que este efecto no esta incluido en css3 por lo que hay que hacerlo manualmente en javascript.

La persiana Veneciana

  Están compuestas de láminas de distintos materiales como madera, aluminio, plástico, pvc... dispuestas en forma horizontal. Según la inclinación que demos a las láminas nos permite regular el paso de luz. En la veneciana de aluminio los fabricantes realizan una pequeña curvatura a la lámina para aumentar su resistencia. Es muy utilizada en decoración, bien sola u ocupando el lugar del visillo.


Descargar código fuente


Nota: Luego de hacer clic en el enlace se abrirá una ventana nueva, debes esperar a que aparezca el botón de "Saltar publicidad", al hacer clic en ese botón debería llevarte directamente al archivo deseado








sábado, 15 de octubre de 2016

Efecto tarjeta en Css3


Para ver en youtube clic aquí
(No olvides suscribirte)


Efecto tarjeta

   Este efecto consiste en hacer rotar el contenido para revelar información que se encuentra detrás, se puede lograr usando CSS3 enteramente. Decidí llamarlo efecto tarjeta ya que guarda semejanza con una tarjeta girando en el mundo real

Descargar Códigos fuente






sábado, 8 de octubre de 2016

Hojas con rotación en Css3 y Javascript


Para ver en youtube clic aquí
No olvides suscribirte

Acerca del tutorial

   En el video que acabas de ver, se muestra una forma muy creativa de organizar contenido variado en tu página web, es similar a las pestañas, pero en este caso estaría limitado a 4 hojas solamente. Crearemos una especie de "cubo" usando el contenido que queramos mostrar y lo rotaremos en relación a lo que el usuario desee ver

Código fuente y plantilla Html

Nota: Lego de hacer clic en el enlace, debes esperar unos segundos a que te aparezca el botón de saltar publicidad, luego debes hacer clic en él para ir al archivo deseado




sábado, 1 de octubre de 2016

Como hacer loaders en CSS3


Para ver en youtube clic aquí
(No olvides suscribirte)


¿Que es un Loader?

   Conocemos como "Loader" a esas pequeñas animaciones que usamos para mostrarle a los visitantes de nuestra web que hay información pendiente por cargar. Su uso más común se encuentra en aplicaciones AJAX y videos HTML5, pero también se puede encontrar en otro tipo de contenido.
  Es común utilizar animaciones GIF como loaders, pero esto representa una pequeña desventaja, ya que podría tardar en descargarla, dependiendo de la imagen. En el video tutorial que protagoniza esta entrada aprenderás a crear un loader con CSS3 solamente, sin nada de Javascript, descubrirás que es muy sencillo y no hay que escribir mucho código.

Archivos del tutorial

Nota: Los enlaces están patrocinados por "Adfly", luego de hacer clic debes esperar a que aparezca el botón de saltar publicidad, al hacer clic en ese botón debería llevarte al archivo deseado

Fondos para loader de barra: Sugiéreme en algún comentario si deseas que agregue alguna otra combinación de colores





sábado, 24 de septiembre de 2016

Navegación por pestañas en Html5 y Javascript


Para ver en youtube clic aquí
(No olvides suscribirte)


Las pestañas

  Si tenemos mucha cantidad de texto u otros elementos en nuestra página, puede ser útil pensar en alguna forma de que nuestro contenido no se vea tan cargado y que a su vez permita a los visitantes una lectura menos "lineal", si no en su lugar permitirles interactuar con la página y darles la opción de elegir el contenido que deseen leer

Descargar código fuente

 Nota: Luego de hacer clic en el enlace, debes esperar unos segundos a que te salga el texto de "Saltar publicidad", debes hacer clic en ese botón y debería llevarte al archivo a descargar, si no es así comunícate con migo a través de un comentario 

Plantilla html  Este archivo es el html básico del cual partimos para empezar el tutorial



¡Ponte en contacto con migo!

  Si quieres pedirme algún tutorial que quieras o necesites, puedes hacerlo a través de mis redes sociales, o por un comentario de Youtube (Recuerda suscribirte)