Estructura de los archivos de presentación

Estructura y sintaxis de los archivos de presentación de BauMotionComics


Estructura de los archivos de presentación

Como comentábamos en el artículo de presentación de BauMotionComics , las presentaciones se definen a partir de archivos con extensión cml .

Estos archivos describen utilizando el lenguaje XML la estructura de la presentación y sus animaciones.

En este artículo explicaremos la sintaxis y el esquema de estos archivos.

Composición de un archivo CML

Un archivo de presentación básicamente define las propiedades de la presentación, los recursos y una serie de páginas. Cada página está compuesta de una o varias imágenes, texturas y textos así como de animaciones.

La estructura básica de un archivo de este tipo es:

<?xml version="1.0" encoding="utf-8" ?>
<Comic Width="1000" Height="600">
	<Include FileName ="_ResourcesBalloon.xml" />

	<Title>Título del cómic</Title>
	<Summary>Resumen del cómic</Summary>
	<ThumbFileName>Images\Thumb.png</ThumbFileName>

	<Resources>
		<Image Key="Sp1" FileName="Images\Spiderman\Spiderman1.png" />
	</Resources>

	<!-- Página 1 -->
	<Page>
		...
	</Page>

	<!-- Página 2 -->
	<Page>
		...
	</Page>
 </Comic>

Como vemos, en el nodo raíz Comic definimos el ancho y alto mínimo de nuestra presentación. A partir de ese ancho y alto se calculan las posiciones de las imágenes y animaciones. Es decir, estas dimensiones no identifican el ancho y el alto de la ventana de animación si no que a partir de las dimensiones de la ventana de animación y las dimensiones de la presentación se recalcula en cada momento la posición de los elementos de la presentación. Así conseguimos que las coordenadas de las imágenes sean independientes de la ventana.

Las etiquetas Include indican que se debe incluir un archivo de recursos externo. Un archivo de recursos contiene descriptores de imágenes, brochas o figuras. Este tipo de archivos nos permiten compartir secciones de presentación entre diferentes proyectos:

<Include FileName ="_ResourcesBalloon.xml" />

Nota: Como en el resto de instrucciones que veremos a partir de ahora, los nombres de archivos son relativos al directorio donde se encuentre el archivo cml .

Por convención, los nombres de los archivos de recursos comienzan con un carácter de subrayado para que no se confundan con archivos cml de presentación.

Nota: un archivo de recursos sólo contiene la etiqueta Resources que comentaremos más adelante.

Tras las etiquetas include, encontramos una serie de etiquetas identificativas de la presentación como son el título, un resumen y la imagen que identifica la presentación en la lista:

<Title>Título de la presentación</Title>
<Summary>Descripción de la presentación</Summary>
<ThumbFileName>Images\Thumb.png</ThumbFileName>

Después podemos incluir etiquetas con los diferentes idiomas en los que se pueden visualizar los textos:

<Language Key="sp">Spanish</Language>
<Language Key="en">English</Language>

El bloque Resources identifica los recursos de la presentación, es decir, imágenes, brochas, figuras...

<Resources>
	<Image Key="Sp1" FileName="Images\Spiderman\Spiderman1.png" />
	<Image Key="Sp2" FileName="Images\Spiderman\Spiderman2.png" />
	<Image Key="Sp3" FileName="Images\Spiderman\Spiderman3.png" />
	<Image Key="Sp4" FileName="Images\Spiderman\Spiderman4.png" />
</Resources>

En el resto de la presentación, cuando queramos utilizar la imagen del archivo Spiderman1.png nos referiremos a ella por su clave.

Por último nos encontramos con la etiqueta Page dentro de esta etiqueta indicamos el contenido de una página y sus animaciones. Por ejemplo:

<Page>
	<RadialBrush ResourceKey="BrsRadialBlue" />
	<Image Key="Sp1" ResourceKey="Sp1" Top="90" Left="150" Visible="true" />
	<TimeLine Duration="20">
		<Translate Key="Sp1" Top="250" Left="200" Stretch ="None" Start="0" Duration="3" />
		<Rotate Key="Sp1" OriginX="0.5" OriginY="0.5" Angle="30" Start="3" Duration="3">
			<BounceEase Bounces="2" EasingMode="EaseOut" Bounciness="0.5" />
		</Rotate>
		<Zoom Key="Sp1" OriginX="0.5" OriginY="0.5" ScaleX="1.2" ScaleY="1.2" Start="3" Duration="2" />
		<Rotate Key="Sp1" OriginX="0.5" OriginY="0.5" Angle="-50" Start="5" Duration="2" />
		<Show Key="Sp1" Opacity = "0.5" Start="5" Duration="4" />
		<Zoom Key="Sp1" OriginX="0.5" OriginY="0.5" ScaleX="0.5" ScaleY="0.5" Start="8" Duration="2"/>
		<Rotate Key="Sp1" OriginX="0" OriginY="0" Angle="50" Start="10" Duration="5" />
		<Show Key="Sp1" Opacity = "1" Start="10" Duration="10" />
		<Translate Key="Sp1" Top="90" Left="150" Start="10" Duration="5" />
		<Zoom Key="Sp1" OriginX="0.5" OriginY="0.5" ScaleX="1" ScaleY="1" Start="15" Duration="5"/>
		<Rotate Key="Sp1" OriginX="0" OriginY="0" Angle="0" Start="15" Duration="5"/>
	</TimeLine>
</Page>

Como podemos imaginar, el contenido de los nodos de recursos y páginas componen la estructura de la presentación y contienen un gran número de etiquetas y opciones, por eso las hemos separado en varios artículos:

  • Elementos : etiquetas para imágenes, textos y figuras.
  • Recursos : definición de archivos de recursos.
  • Páginas : definición de páginas y animaciones.

Páginas relacionadas