comunidades

Creacion de Juego con HTML5 y JavaScript



En esta nueva serie de tutoriales y videos, veremos los aspectos generales para la creacion de un game con HTML5, JavaScript y jQuery.

Bienvenidos a otro tutorial de HTML5!Hoy iniciaremos la creación de un simple videojuego (bastante simple :)), utilizando apenas HTML5 y Javascript.

hablaremos de algunos aspectos basicos de programacion con JavaScript, dando por hecho que ya tenés un poco de noción sobre este lenguage. Seguramente JavaScript es el lenguage de script o programacion más conocido que existe, pero no es el único, pero debe ser uno de los más utilizados en la programación web.

El juego en mas detalle se podrá ver en mis videotutoriales que el día de hoy mismo subiré a mi canal de youtube.

Bien!

Primeramente tenemos que crear nuestra pagina web que contendrá nuestro juego.

Esta página será muy simples y contendrá un solo elemento HTML5 que es el

<canvas></canvas>,etiqueta HTML5 que nos permite insertar dibujos, imagenes, animaciones y muchas mas cosas.

Aqui el maquetado inicial de la página web:

<!DOCTYPE html>

<html lang="es">

<head>

<meta charset="UTF-8">

<meta name="description" content="">

        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Juego HTML5 y Javascript</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<link rel="stylesheet" href="css/estilos.css">

<script type="text/javascript">

</script>

</head>

<body>

<div>

<!--Todo el juego o animacion pasará dentro del canvas-->

<canvas id="canvas" width="450" height="450">Tu navegador no soporta Canvas! actualizalo!</canvas>

</div>

</body>

</html>

Como se puede ver en el codigo HTML es muy simple:Tenemos en el cuerpo <body></body> apenas la etiqueta CANVAS con un texto inicial por si el navegador de nuestra web sea demasiado viejo y no lo soporte.

Lo mas importante aqui será lo que programaremos con javascript dentro del <head></head> de nuestra pagina. también usaremos un poco de jQuery, y para eso llamaremos la libreria para poder utilizarla:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">

Además de eso tenemos nuestro proprio <script></script> que lo vamos a iniciar.

Primeramente queremos que nuestro script (juego) se inicie despues que nuestro documento HTML sea cargado completamente por el navegador, para eso utilizaremos un poco de jQuery:

En esta primera parte del tutorial creamos nuestro fondo (canvas) y dos pequeños jugadores (cuadrados sin nada de especial). Es el inicio de la configuracion de nuestro juego. En el video puede ver como lo voy haciendo y explicando, creo que se entiende bien:

Despues que nuestra pagina es totalmente cargada por el navegador, creamos la variable canvas la cual podremos manipular libremente con la instruccion [0]. Despues creamos nuestro contexto (ctx) que nos dice que el juego será en 2D.

Las variables cWidth y cHeight nos dicen las dimenciones (ancho y largo) de nuestro canvas que fue definido en HTML (definidos en 450 y 450 px).

con esto tenemos el control de donde están nuestros jugadores durante el juego.

Creamos la function setBackground que nos permite manipular los estilos de nuestro canvas sin necesidad de CSS.

Creamos la function setPlayer en la cual creamos dos cuadros simples por ahora, mas adelante los vamos a modificar para que no quede tan feo nuestro juego :).

tambien creamos un loop para nuestro juego se actualize a cada tanto (esto lo utilizaremos mas adelante para el Scrore y demas funciones.

La function game es para llamar las demas function del juego (nada del otro mundo) apenas par controlar todo en una sola funcion.

Bien, por ahora es todo, hoy mismo subiré el video con mas detalles y explicaciones sobre el juego. Subscribanse a mi canal para seguir los tutoriales.

Aqui les dejo el codigo! :)

Nos vemos!

Iniciamos nuestro script:

<script type="text/javascript">

 $(document).ready( function(){

var canvas = $("#canvas")[0];

var ctx = canvas.getContext("2d");

var cWidth = $("#canvas").width();

var cHeight = $("#canvas").height();

var open = true;

//FONDO DEL CANVAS o AREA DE JUEGO

function setBackground(){

ctx.save();

ctx.fillStyle = "lightblue";

ctx.fillRect(0,0,cWidth,cHeight);

ctx.strokeStyle = "#000";

ctx.lineWidth = 5;

ctx.strokeRect(0,0,cWidth,cHeight);

ctx.restore();

}

//JUGADORES

function setPlayer(color, x, y, width, height){

ctx.save();

ctx.fillStyle =color;

ctx.fillRect(x,y, width, height);

ctx.restore();

}

//

if(typeof game_loop !="undefined"){

clearInterval(game_loop);

}

//intervalo del juego

game_loop = setInterval(game,800);

function game(){

setBackground();

setPlayer("red",20,120, 20, 20);

setPlayer("blue",420,420, 20, 20);

}

setBackground();

setPlayer("red",20,120, 20, 20);

setPlayer("blue",420,420, 20, 20);

//ARCOS Y CIRCULOS 

function degreesToradian(dreg){

//GRADOS A RADIANES

return(dreg * Math.PI)/180;

}

})

Para saber más: Mi canal de Yotutube

DBK uruguay

Fuente: este post proviene de Pablo M. Francisco, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

¿Seguro que estamos seguros?

Todos los pagos y compras online, todos los "Me gusta", comentarios, mensajes, twits, chats, todas las gestiones que hacemos por internet dejan un rastro que contiene nuestros datos personal ...

Mobile marketing trends 2015

This my first post in english. Please try to understand any mystakes :). Today 80% of consumers are concerned about mobile marketing. Thousands of mobile phone users world wide were surveied on their ...

Recomendamos

Relacionado

general

Creacion de Juego con HTML5 y JavaScript parte II

En esta segunda parte del tutorial para crear un Juego con HTML5 Y javascript, daremos movimiento a nuestros "actores". Bienvenidos a otro tutorial de HTML5! Hoy daremos secuencia a esta serie de tutoriales de programacion de videojuegos con HTML5 CSS3 y Javascript. Como ya vimos en el tutorial anterior el armado de nuestro canvas y los jugadores que son apenas dos rectangulos uno rojo ...

general

Creacion de un Game con HTML5 Javascript Utilizando el framework Phaser

En este tutorial iniciaremos un nuevo juego utilizando el Framework "Phaser", usando HTML y CSS3. Phaser es un framewprk/engine muy completo y facil de usar. Hola amigos, como ven en el video, el juego es muy simple de jugar, apenas tenes que comer las frutas para mantenerte en vuelo y cuidar para que las estrellas negras no te toquen o mueres. Si tienen un smartphone Android puden desc ...

propuestas

Qué es AMPHTML

Al navegar por Internet con nuestro móvil, muchas veces nos encontramos con pequeños bloqueos, interrupciones en el dibujado de la página porque se están cargando anuncios, o imágenes... en diversas ocasiones percibimos la navegación como algo poco fluido o inmediato. La iniciativa de código abierto AMP (Accelerated Mobile Pages) viene a crear un nuevo "ecosistema" de programación que pe ...

rendimiento

Mejora el rendimiento de tu web utilizando jascript asíncrono

El rendimiento es algo fundamental para la mejora de la experiencia de usuario y, junto a la calidad de los contenidos que se ofrecen en una web, un gran impulsor del posicionamiento en buscadores. En Diarios de la nube vamos a ir ayudándote a resolver distintos puntos importante para mejorar el rendimiento de tu sitio web por medio de GTMetrix. GTMetrix es un servicio de análisis rendimiento de l ...

rendimiento

Mejora el rendimiento de tu web con GTMetrix: Defer Parsing of Javascript

En Diarios de la nube vamos a ir ayudándote a resolver cada respuesta que GTMetrix pueda devolverte al analizar tu web. GTMetrix es un servicio de análisis rendimiento de la compañía de hosting GT.net. Es capaz de realizar los test más exigentes para analizar la velocidad de carga de todos los recursos de un sitio web, indicando así su velocidad de carga y localizando posibles "cuellos de bot ...

internet

IMPEDIR QUE COPIEN TEXTO DE SU PÁGINA EN BLOGGER

Para impedir que otros usuarios copien texto de su página web y la peguen en la de ellos, hay un par de códigos que nos van a servir. Existen dos códigos: (Se les agrega a <body>, es decir, antes de </body> que está al final de la plantilla) 1) PARA IMPEDIR QUE COPIEN SOMBREANDO CON EL MOUSE Y HACIENDO CLIC CON EL BOTÓN DERECHO <script language="Javascript" type="tex ...

general videos

Tutorial HTML5 y CSS3

Video tutorial de maquetación HTML5 y CSS3 parte 1. Comenzamos una nueva serie en el Blog, después de pedidos iniciamos con los video tutoriales. Aqui el primero: Maquetación en HTML5, CSS3 y Jquery. En esta nueva serie de videotutoriales crearemos un Website completo en HTML5, CSS3, JQuery, Javascript. En este video hablamos sobre las etiquetas semánticas de HTML5 y como darles estilos con CSS3. ...

general social

Cómo poner botones para que te sigan en las redes sociales en Blogger

Poner botones para redes sociales con los que tus usuarios puedan seguirte te ayudará a incrementar la presencia de tus contenidos en Internet. Si bien muchas veces preferimos utilizar botones al final de nuestra entradas para que nuestros usuarios compartan si lo desean nuestras entradas, es importante también que puedan seguirnos por las redes sociales si así lo desean. Qué mejor sitio para que ...

general desarrollo web html5 ...

Día #10 Hablemos de los Videos en HTML5

En este tutorial o artículo, vamos a ver de pronto no todo acerca los videos en HTML5 pero si lo más relevante e importante de esta nueva etiqueta Video. HTML ha hecho cambios muy grandes en la web, que quizás la gente común no note pero a los que trabajamos en este campo se no se nos hacen grandioso, una de estas mejores es la de poder incluir directamente video y audio en el código, para depende ...

general curso html5 ...

Curso de HTML5 y CSS3 para web móvil

Estás interesado en aprender a desarrollar webs móviles en HTML5 CSS3, Javascript, Jquery mobile y Frameworks? Hola, estoy preparando un curso por email y skype de desarrollo de webs moviles con HTML5.Que les parece la idea? Interesados, participarán por 5 cursos totalmente gratuitos. Curso por mail, resolución de dudas por skype (uno a uno) clases semanales. Sorteo día 30/04/2015. Início: 02/05/2 ...