<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=LIGBDX_Explicacion_Framework</id>
	<title>LIGBDX Explicacion Framework - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=LIGBDX_Explicacion_Framework"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=LIGBDX_Explicacion_Framework&amp;action=history"/>
	<updated>2026-10-23T01:34:19Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=LIGBDX_Explicacion_Framework&amp;diff=51737&amp;oldid=prev</id>
		<title>Angelfg en 11:38 30 nov 2014</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=LIGBDX_Explicacion_Framework&amp;diff=51737&amp;oldid=prev"/>
		<updated>2014-11-30T11:38:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Sitios de obrigada visita==&lt;br /&gt;
&lt;br /&gt;
Neste punto vos amoso aqueles sitios de Internet que seguramente necesitaredes visitar.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* API do LIBGDX: Todas as clases coas definicións dos seus métodos que utiliza o framework LIBGDX. http://libgdx.badlogicgames.com/nightlies/docs/api/&lt;br /&gt;
* WIKI do LIBGDX: https://github.com/libgdx/libgdx/wiki&lt;br /&gt;
* Foro do LIBGDX: http://www.badlogicgames.com/forum&lt;br /&gt;
&lt;br /&gt;
==Framework vs Motor de xogos==&lt;br /&gt;
Aínda que o curso é eminentemente práctico neste punto imos explicar en que consiste o framework e que é o que vai xerar.&lt;br /&gt;
&lt;br /&gt;
Primeiro deberemos explicar que é un framework. Ben, case vou dicir que un framework non é un motor de xogos e traducido a nosa linguaxe significa que imos ter máis traballo á hora de programar un videoxogo, pero tamén imos ter moita máis liberdade no seu desenvolvemento.&lt;br /&gt;
&lt;br /&gt;
Un [http://es.wikipedia.org/wiki/Framework framework] é un conxunto de librerías que nos permiten (neste caso) o desenvolvemento de xogos facilitándonos a labor de programación sobre os diferentes aspectos no deseño dos mesmos como poden ser: gráficos, son é música, renderizado, xestión de eventos,...Por exemplo (a través de programación): usa a clase Texture para cargar un gráfico; sitúa este gráfico nesta posición e move dende esta posición a esta posición de forma continua (todo por programación).&lt;br /&gt;
&lt;br /&gt;
Un [http://es.wikipedia.org/wiki/Motor_de_juego motor de xogos] actúa nun nivel superior. É un software completo no que nos &amp;#039;dámoslle&amp;#039; os datos para unha determinada funcionalidade a un nivel moi abstracto e el se encarga de xerar todo o necesario para que funcione. Normalmente son máis &amp;#039;intuitivos&amp;#039; (están cheos de ferramentas gráficas). Por exemplo, poderíamos cargar un gráfico e decirlle: quero que movas este gráfico desta posición a esta posición de forma continua. A carga do gráfico faríase graficamente( :) ) e dita funcionalidade tamén poderíase indicar graficamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Por que usar un framework  e non un motor de xogos ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Tendo en conta que este curso forma parte da programación do módulo &amp;#039;Programación de dispositivos móbiles&amp;#039; do ciclo Desenvolvemente de aplicacións multiplataforma, necesitaba algo que tivera unha &amp;#039;continuidade&amp;#039; para os alumnos. En programación usan Java e é a linguaxe usada por este framework. Ó ser un framework obriga a programar, cousa que non motor de xogos non tería tanto peso.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Por que usar LIBGDX e non outro calquera ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Primeiro pola linguaxe usada, que é JAVA igual que a que utilizan no módulo de programación.&lt;br /&gt;
*Segundo porque é gratuito. Moitos motores e framework teñen unha versión gratuíta pero para ter todas as funcionalidades ou para &amp;#039;vender&amp;#039; o xogo hai que pagar.&lt;br /&gt;
*Terceiro porque serve para crear xogos 2D e 3D.&lt;br /&gt;
*Carto é multiplataforma. Probar xogos co emulador de Android é imposible. Se necesitaría unha máquina virtual con Android instalado complicando máis o proceso de probas. Desta forma podemos desenvolver o xogo no PC e cando estea rematado probalo nun dispositivo Android.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Existen outros framework que teñan todo o anterior ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Pois sí. Tedes unha comparativa bastante completa na [http://es.wikipedia.org/wiki/Motor_de_juego#Motores_de_videojuego WIKI].&lt;br /&gt;
&lt;br /&gt;
==Framework LIBGDX==&lt;br /&gt;
É un framework para o desenvolvemento de xogos coa linguaxe Java tendo coma principal vantaxe que é multiplataforma. Para nós iso significa que podemos desenvolver o xogo independentemente da plataforma onde se vaia a executar.&lt;br /&gt;
&lt;br /&gt;
Así grazas a este framework podemos desenvolver xogos para:&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux&lt;br /&gt;
*Mac OS X&lt;br /&gt;
*Android (+2.2)&lt;br /&gt;
*BlackBerry&lt;br /&gt;
*iOS&lt;br /&gt;
*Java Applet (require a máquina virual java instalada)&lt;br /&gt;
*JavaScript/WebGL (Google Chrome, Safari, Opera, Mozilla Firefox, IE via Google Chrome Frame)&lt;br /&gt;
&lt;br /&gt;
Máis información sobre as vantaxes en: http://libgdx.badlogicgames.com/features.html&lt;br /&gt;
&lt;br /&gt;
Polo tanto imos poder desenvolver un xogo e probalo no PC sen necesidade de utilizar un dispositivo móbil (unicamente que o xogo se basee nalgún hardware específico deste tipo de dispositivos coma poda ser o acelerómetro)&lt;br /&gt;
&lt;br /&gt;
==Compoñentes==&lt;br /&gt;
LibGDX está composto por unha serie de compoñentes:&lt;br /&gt;
&lt;br /&gt;
*Marco de Aplicación, que manexará o  bucle principal y ademais estará encargado do ciclo de vida, é dicir, os eventos de creación, destrución, pausa e resume.&lt;br /&gt;
*Un compoñente de Gráficos que permitiranos xestionar a representación de imaxes e obxectos gráficos na pantalla.&lt;br /&gt;
*Un compoñente de Audio, que facilitaranos o acceso ós sons e música da aplicación.&lt;br /&gt;
*Un compoñente de Entrada e Saída para ler e escribir os diferentes arquivos de datos como por exemplo, arquivos de configuración, sons, música, texturas,...&lt;br /&gt;
*Un compoñente de Entrada que xestionará a entrada a través do teclado, pantalla táctil ou acelerómetro.&lt;br /&gt;
&lt;br /&gt;
[[Imagen:LIBGDX_Teoria_01.jpg|300px|center]]&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;frm=1&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCoQFjAA&amp;amp;url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1YfuJ-gsc7VfIlX2G8Ix5K0laaqEsvFDuTz3Cnecy2_M%2Fedit%3Fpli%3D1&amp;amp;ei=LfI2U47eBOer7Ab1vYHgDg&amp;amp;usg=AFQjCNE5JB_ZlN4CoL0RC6It1XpLy91VYw&amp;amp;bvm=bv.63808443,d.ZGU  Gráfico obtido deste documento]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tamén temos módulos específicos para a xestión de cálculos matemáticos, coma Math e tamén módulos para a xestión de colisións entre os elementos gráficos dos xogos.&lt;br /&gt;
&lt;br /&gt;
Outro gráfico que amosa de diferente forma a estrutura de módulos do framework LIBGDX:&lt;br /&gt;
[[Imagen:LIBGDX_Teoria_02.jpg|700px|center]]&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;frm=1&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCoQFjAA&amp;amp;url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1YfuJ-gsc7VfIlX2G8Ix5K0laaqEsvFDuTz3Cnecy2_M%2Fedit%3Fpli%3D1&amp;amp;ei=LfI2U47eBOer7Ab1vYHgDg&amp;amp;usg=AFQjCNE5JB_ZlN4CoL0RC6It1XpLy91VYw&amp;amp;bvm=bv.63808443,d.ZGU Gráfico obtido deste documento]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nota:&amp;#039;&amp;#039;&amp;#039; Assets é o cartafol onde imos gardar todos os recursos (gráficos – modelos 3d– sons – música,...)  do noso xogo. &lt;br /&gt;
Nas aplicacións Android normalmente se gardaría no cartafol /res.&lt;br /&gt;
Podemos ver neste [http://stackoverflow.com/questions/5583608/difference-between-res-and-assets-directories enlace] a diferenza entre os dous cartafoles.&lt;br /&gt;
&lt;br /&gt;
En Android, os gráficos gardados en /res se &amp;#039;compilan&amp;#039; co proxecto e podemos facer referencia a eles a través de identificadores. No cartafol /Assets podemos crear unha estrutura de cartafoles, cousa que non podemos facer en /res.&lt;br /&gt;
&lt;br /&gt;
==Proxectos que vai xerar o framework LIBGDX==&lt;br /&gt;
É moi importante que comprendamos que usando unha ferramenta gráfica, imos xerar un proxecto de eclipse por cada plataforma de xogo e un proxecto común que farán uso del todos os demais proxectos.&lt;br /&gt;
&lt;br /&gt;
Os proxectos xerados de cada plataforma o único que farán será chamar a unha clase (que vai derivar da clase Game) para comezar o xogo. Así, se vou desenvolver un xogo para PC (Windows / Linux) e Android, a ferramenta vaime xerar 3 proxectos: un para Android, outro para PC e outro &amp;#039;Comun&amp;#039; onde estará toda a programación do videoxogo. Os proxectos Android e PC só chamarán a unha clase do proxecto común e a partires de entón o control estará todo nese proxecto.&lt;br /&gt;
&lt;br /&gt;
É dentro deste proxecto común onde implantaremos toda a lóxica do xogo, renderizado, uso de música e son, xestión de eventos. Teremos varias pantallas (polo xeral), como unha pantalla de presentación, do xogo, high scores,...(derivarán da clase Screen).&lt;br /&gt;
&lt;br /&gt;
[[Imagen:LIBGDX_Teoria_03.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2014).&lt;/div&gt;</summary>
		<author><name>Angelfg</name></author>
	</entry>
</feed>