Es poca cosa (ya que no tiene copiar/pegar/rellenar selecciones y demás detallitos), pero será útil para los que quieran hacer mapas en un momento sin buscar editores y editores. Pronto dejaré también el código fuente para el que quiera modificarlo a discreción o quiera ver cómo manejar algunas cosas de java para hacerse uno entero.
Un ejemplo de mapa de salida
<?xml version='1.0' encoding='UTF-8'?>
<mapa nombre='prueba' ancho='4' alto='4' >
<terreno>
<casilla w='0' h='0' tipo='2' />
<casilla w='0' h='1' tipo='1' />
<casilla w='0' h='2' tipo='1' />
<casilla w='0' h='3' tipo='1' />
<casilla w='1' h='0' tipo='2' />
<casilla w='1' h='1' tipo='2' />
<casilla w='1' h='2' tipo='1' />
<casilla w='1' h='3' tipo='1' />
<casilla w='2' h='0' tipo='1' />
<casilla w='2' h='1' tipo='1' />
<casilla w='2' h='2' tipo='2' />
<casilla w='2' h='3' tipo='1' />
<casilla w='3' h='0' tipo='1' />
<casilla w='3' h='1' tipo='1' />
<casilla w='3' h='2' tipo='2' />
<casilla w='3' h='3' tipo='1' />
</terreno>
<unidades>
<unidad w='1' h='3' tipo='1' />
<unidad w='2' h='0' tipo='5' />
<unidad w='2' h='3' tipo='1' />
<unidad w='3' h='0' tipo='5' />
</unidades>
</mapa>
Si se sustituye la carpeta de sprites el mapa se pintará con los sprites que ponga el usuario. Eso sí, como he ido a toda pastilla, he cuidado muy poco el código, y por ejemplo, el tamaño de los sprites está fijado a 72x72. Al menos tiene zoom. XD
Binario v1.0Foto de rigor:
(http://img415.imageshack.us/img415/7338/mapa6yc.th.png)
Buen trabajo Warchief!!! (ole)
que libreria XML has utilizado? o te has hecho un parser completo?
a ver cuando pones tu juego para que lo probemos...aunque sea una beta :P
saludos
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
public class AccesoXML extends DefaultHandler
{
private SAXParser m_saxParser;
//////////////////
// Inicializas
//////////////////
public void Init()
{
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
// Iniciar parseador
m_saxParser = factory.newSAXParser();
...
}
....
}
//////////////////
// Sobreescribes los 4 métodos
//////////////////
public void startDocument()
throws SAXException
{
...
}
public void endDocument()
throws SAXException
{
...
}
public void startElement(String namespaceURI,
String lName, // local name
String qName, // qualified name
Attributes attrs)
throws SAXException
{
...
}
public void endElement(String namespaceURI,
String sName, // simple name
String qName // qualified name
)
throws SAXException
{
}
Y a correr. XD
// Llamada a cargar mapa, llama a parsear fichero.
try {
m_saxParser.parse(fichero, this);
} catch (Exception e) {
error = e.getMessage();
}
El 2D está hace mucho en su versión final (descontinuada):
EnlaceEl 3D está en preprepreprealpha.
Gracias por el interés ;)
Me lo he bajado y joer, se me habia olvidado que ya lo habia bajado hace tiempo jejeje
y eso de que lo estas haciendo 3D? el mismo juego pero en vez de un tablero 2D vas a meter 3D?
explicame...jeje
Cita de: TheAzazely eso de que lo estas haciendo 3D? el mismo juego pero en vez de un tablero 2D vas a meter 3D?
Uhm, como lo diría, uhm... sí. :P
Básicamente, pasa de 2d a 3d. Un 3d como pueda ser el del heroes5.
Digamos que paso del
HeroesI Miniconsola al
Heroes V, pero modestamente. :rolleyes:
Espero que no pierda jugabilidad, porque mucho 3D, pero luego no hay quien seleccione bien las unidades.
Como ya comenté, la idea original era un
http://www.wesnoth.org/ , pero ya que estoy avanzando, paso a 3d a ver que tal funciona.
Los hexágonos están "estirados", al ser de proporciones 1x1. No sé si se ha hecho a posta, o si implica algún problema a nivel de programación, pero creo que deberían ser de proporciones ~7x8 para que quedasen más "naturales".
Por lo demás, tiene buena pinta, claro :)
Cita de: tewe76Los hexágonos están "estirados", al ser de proporciones 1x1. No sé si se ha hecho a posta, o si implica algún problema a nivel de programación, pero creo que deberían ser de proporciones ~7x8 para que quedasen más "naturales".
Por lo demás, tiene buena pinta, claro :)
Sí, ya me di cuenta. Son los gráficos del wesnoth, que no son hexágonos regulares. En el 3d que estoy haciendo ya son regulares.
En 3d he seguido las coordenadas del artículo de gamedev en vez del 72x72:
http://www.gamedev.net/reference/articles/...article1800.aspComo ya tenía esos gráficos y los métodos para pasar de pixel a ratón y viceversa, no me compensaba cambiar en 2d.
La verdad es que tampoco hay mucha diferencia, pero es una buena observación.