domingo, 28 de diciembre de 2014

Tiled + Box2D Parte 2

En la parte 1 del tutorial aprendimos que es Tiled y como crear mapas con el, ahora vamos a aprender a como crear objetos con propiedades para utilizarlos dentro de nuestra aplicacion.

Agregar objetos

Los objetos que agregemos son de mucha utilidad ya que pueden nos pueden decir donde va colisionar un cuerpo con otro. Para agregar objetos se necesita una capa de objetos para esto seleccionamos la opcion Layer > Add Object Layer. Ahora tenemos una nueva capa de objetos como se puede ver en la siguiente imagen.


Despues seleccionamos una opcion para agregar un objeto en este ejemplo seleccionamos Add Rectangle:


Seleccionamos el punto en el mapa donde queremos agregar el objeto y creamos el rectangulo. Como se ve en la siguiente imagen se agrego un rectangulo para cada una de las plataformas.


Tambien vamos a agregar un objeto para el piso, pero ahora seleccionamos la opcion de Insert Polyline y ponemos el objeto como se ve en la imagen siguiente


Ya hemos agregado objetos a las plataformas y al piso, tambien vamos a agregar otros pequeños objetos que una vez pasados a Libgdx seran las monedas del juego. Nuestro mapa se vera de esta forma:


Ya se han agregado los objetos de las monedas pero hay un problema cuando sea necesario crear los cuerpos en Box2d ¿como vamos a diferenciar cual es el piso, las monedas y cuales son la plataformas? Para esto es necesario agregar propiedades.

Agregar propiedades a los objetos

En este ejemplo las propiedades van ayudar a diferenciar cada uno de los objetos ya sean las monedas, el piso o las plataformas.
Primero vamos a agregar colores a los distintos tipos de objetos. Seleccianmos Tiled > Preferences... > Object Types. Damos click en el + para agregar un nuevo tipo de objeto y le damos un nombre y seleccionamos un color. Despues de agregar la moneda, el piso y la plataforma debe quedar asi:


Es importante notar que tenemos 3 tipos de moneda diferente esto porque se podra agregar monedas que valen 1, 5 y 10.
El siguiente paso es muy sencillo solo es necesario agregar las propiedades a los objetos, para esto se da click derecho al objeto y se selecciona la opcion Object Properties...


En la ventana que aparece podemos ver que existen muchas propiedades (Name, Type, Position, etc). Nosotros vamos a modificar la opcion Type y vamos a escribir uno de los tipos que agregamos en el paso anterior.


Como se puede ver al seleccionar el tipo, el objeto cambia al color negro de esta forma es mas facil reconocer a que objetos ya le hemos dado propiedades.
Despues de dar propiedades a todos los objetos el mapa se vera de asi:


Con esto ya todos los objetos tienen propiedades por lo que podremos diferenciar cada uno cuando los pasemos a Libgdx.

Con esto terminamos con la parte 2 de este tutorial en la parte 3 podremos ver como pasar el mapa creado a Libgdx asi como crear los cuerpos de Box2d dependiento de cada una de las propiedades que agregamos en Tiled.