jueves, 6 de octubre de 2011

El Personaje

Bueno hoy vamos a crear un personaje que se mueva por nuestro mapa. Lo vamos a hacer inicialmente sin animaciones, solo que se mueva de celda en celda del mapa.


Inicialmente vamos a añadir un método en la clase Mapa para que nos devuelva la posición central de una celda del mismo.

class Mapa:

    ...

    def obtener_centro_celda(self, fila, columna):
        x = (self.tam_tiles[0] * columna) + (self.tam_tiles[0] / 2)
        y = (self.tam_tiles[1] * fila) + (self.tam_tiles[1] / 2)
        return (x,y)



Este método nos servirá para centrar el personaje en la celda en la que se encuentra.

Ahora vamos a crear la clase Personaje en un archivo en el directorio raíz llamado personaje.py.

# -*- coding: utf-8 -*-
from pygame.locals import *

from utilidades.imagen import *

class Personaje():

miércoles, 5 de octubre de 2011

Cargar mapas en el juego

Bueno llegó el momento de cargar el mapa creado en el articulo "Crear mapas con Tiled Map Editor".

Para ello primero crearemos el archivo mapa.py en la raiz del proyecto.

# -*- coding: utf-8 -*-
from xml.dom import minidom
import base64
import gzip
import StringIO

from utilidades.imagen import *
from utilidades.archivo import *

class Mapa:

    LAYER_PISABLE = 0
    LAYER_SUELO = 1
    LAYER_OBJETOS = 2
    LAYER_OBJETOS_SUPERPUESTOS = 3
    LAYER_CIELO = 4

Crear mapas con Tiled Map Editor

El Tiled Maps Editor es un programa que permite generar mapas de una forma sencilla para la creación de juegos.

Para instalarlo en linux, en distribuciones basadas en debian, debéis ejecutar:

apt-get install tiled

Para los usuarios de windows podeis acceder a la página del proyecto y descargaros la ultima versión.

http://www.mapeditor.org/

Bueno, ahora ejecutamos el programa y creamos un mapa nuevo.
En tamaño del patrón debeis especificar el tamaño de los tiles que forman nuestro tileset. En este caso será de 16x16 pixeles.


En Edición -> Preferencias deberemos dejar las opciones como muestro ahora. Esto es importante porque cuando carguemos el mapa en el juego, este debe estar comprimido en Base64 gzip.




Ahora en Capa -> Añadir Capa de Patrones, añadiremos las capas que muestro a continuación en el orden que veis.