Projecte Proj3

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció

Partint de projecte XMLReader, versió 4, l'objectiu del projecte és llegir les diferents versions del fitxer joan_petit.xml, i representar de forma gràfica la història que està explicada en aquest fitxer.

En aquest projecte anem desenvolupant el llenguatge puppetML. Els diferents actes i accions (un acte té una o varies accions) s'aniran desenvolupant de forma automàtica a partir d'una variable delay, que indica el temps de permanència de l'acció.

Per la consola s'anirà mostrant informació d'interès.

El primer que haurà de fer l'aplicació és carregar totes les imatges en memòria per tal que es puguin pintar de forma ràpida.

Diferència entre acte i acció (un acte té moltes accions).

En l'acte es carrega el landscape i es carreguen els personatges, amb les seves accions predeterminades.

En les accions només s'especifica els canvis als personatges que afecten a les accions. Tota la resta de comportament és la derivada de l'acte corresponent.

Versions

v1

Comencem per lo bàsic. Mostrem el títol, i el landscape del primer acte.

<?xml version="1.0" encoding="UTF-8"?>
<puppet_tale>
	<title>El Joan Petit com balla</title>
	<credits>
		<script>Joan Quintana Compte</script>
		<artwork />
		<music />
	</credits>
	<thanks_to />
	<acts>
		<act id="1">
			<landscape>
				<file img="landscape1.png">landscape1</file>
			</landscape>
		</act>
	</acts>
</puppet_tale>

v2

Ara la història té dos actes, que es mostren un darrera l'altre. La gràcia està en què totes les imatges es carreguen al principi.

<?xml version="1.0" encoding="UTF-8"?>
<puppet_tale>
	<title>El Joan Petit com balla</title>
	<credits>
		<script>Joan Quintana Compte</script>
		<artwork />
		<music />
	</credits>
	<thanks_to />
	<acts>
		<act id="1">
			<landscape>
				<file img="landscape1.png">landscape1</file>
			</landscape>
		</act>
		<act id="2">
			<landscape>
				<file img="landscape2.png">landscape2</file>
			</landscape>
		</act>
	</acts>
</puppet_tale>

v3

afegim moviment al landscape:

<landscape>
	<file img="landscape1.png">landscape1</file>
	<velx>10</velx>
	<vely>0</vely>
</landscape>

<landscape>
	<file img="landscape2.png">landscape2</file>
	<velx>-10</velx>
	<vely>5</vely>
</landscape>		

v4

Introduim un personatge: el Joan Petit. Els atributs s'assignen quan llegeixo characters. Ara bé, és quan entro dins l'acció que es visualitzen els personatges marcats com a visible=true i s'amaguen els marcats com a visible=false.

Recordem que quna inicïi el projecte el primer que he de fer és carregar les imatges, joan.png també. joan.png és un personatge sense boca, i és que la boca i el seu comportament la definiré en la següent versió.

<act id="1">
	<landscape>
		<file img="landscape1.png">landscape1</file>
	</landscape>
	<characters>
		<character id="1" img="joan.png">
			<name>Joan</name>
			<visible>true</visible>
			<posx>230</posx>
			<posy>130</posy>
			<velx>10</velx>
			<vely>0</vely>
		</character>
	</characters>
	<actions>
		<action id="1" />
	</actions>			
</act>

v5

<character id="1" img="joan.png">
	<name>Joan</name>
	<visible>true</visible>
	<parts>
		<part id="llavis">
			<fitxers>
				<fitxer src="llavi1.png" />
				<fitxer src="llavi2.png" />
			</fitxers>
			<visible>true</visible>
			<movement>true</movement>
		</part>
	</parts>
</character>

v6

és el mateix que v5, però introdueixo dues parts: els llavis i els ulls. Per tal de què els llavis i els ulls no es moguin amb la mateixa base de temps, hauré d'introduir un factor aleatori per donar realisme. Queda clar que hi haurà aspectes del comportament que estaran definits en el fitxer XML, i hi haurà aspectes que estaran definits en les classes. El fitxer XML i l'especificació PuppetML haurà de descriure tot allò que sigui comú a les diferents històries que es poden explicar. Tot allò que no sigui generalitzable, haurà d'estar a dins del codi Java.

	<parts>
		<part id="llavis">
			<fitxers>
				<fitxer src="llavi1.png" />
				<fitxer src="llavi2.png" />
			</fitxers>
			<visible>true</visible>
			<movement>true</movement>
		</part>
		<part id="ulls">
			<fitxers>
				<fitxer src="ull1.png" />
				<fitxer src="ull2.png" />
			</fitxers>
			<visible>true</visible>
			<movement>true</movement>
		</part>
	</parts>

creat per Joan Quintana Compte, abril 2009

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines