h1

Convirtiendo diapositivas de PowerPoint para ver en la NDS

junio 18, 2009

Para pasar las diapositivas de PowerPoint a la Nintendo DS (sin animaciones ni efectos, sólo las imágenes tal cual) he creado un archivo BAT (apoyado en otros dos archivos) que crea el código generando el archivo main.c que se puede compilar directamente con PALib (se necesita tener instalado PALib). Eso sí, previamente habría que hacer una serie de pasos que paso a detallar:

1.- Conversión de diapositivas de PowerPoint a un conjunto de imágenes jpg:
Convertimos nuestra presentación de PowerPoint a un conjunto de imágenes jpg, esto se hace directamente con Powerpoint siguiendo este menú: Archivo –> guardar como… –> Guardar como tipo y aquí elegimos Formato de Intercambios de Archivos JPEG (*.jpg). Aquí nos pregunta el programa ¿Desea exportar todas las diapositivas de la presentación o sólo la diapositiva actual? y elegimos Cada diapositiva.

2.- Conversión de las imágenes jpg a imágenes jpg de tamaño adecuado para la NintendoDS: 256×192 píxeles.
Para ello podemos elegir cualquier programa de tratamiento de imágenes, pero yo recomiendo IrfanView porque podemos hacerlo todo de una tacada y cambiar los nombres a la vez. Con Irfanview seguiríamos el menú Archivo –> Convertir/Renombrar por lotes. Dentro de esta ventana elegimos Convertir por lotes: renombrar los archivos resultantes, en Modelo de nombre elegimos imagen# (esto nos generará archivos con nombres imagen1.jpg, imagen2.jpg, etc.). En Opciones avanzadas seleccionamos CAMBIAR DE TAMAÑO y cambiar los dos lados a Ancho 256 y alto 192 (en píxeles).

3.- Copiar las imágenes al directorio data de palib.
Si todo ha ido bien tendríamos tantas imágenes jpg como diapositivas de tamaño 256×192 pixeles y que se llaman imagen1.jpg, imagen2.jpg, … imagen10.jpg, imagen11.jpg… Estas imágenes sencillamente las copiamos en el directoria data de palib (palib/template/data). Nota: el compilador distingue minúsculas y mayúsculas, así que hay que guardarlo todo en minúsculas (incluída la extensión .jpg).

4.-Creación del archivo main.c usando los archivos por lotes.
Esta parte es muy fácil, pues no hay más que descargar este fichero comprimido (actualmente no disponible)y descomprimirlo. Aparecerán 3 ficheros (main.old, diapositivas.bat y pp2nds.bat). Uno es un archivo main.old que no hay que hacerle nada. Sólo hay que modificar el archivo diapositivas.bat. Para ello con el botón derecho elegimos editar y escribimos el número de diapositivas de nuestra presentación en el segundo renglón set diapositivas=10, cambiando el número 10 por el número de diapositivas de nuestra presentación. Hecho esto, sólo nos queda ejecutar el tercer archivo: pp2nds.bat haciendo doble click sobre él. Si todo va bien creará un archivo main.c con el código para ser compilado.

5.- Cuestiones finales
Sólo nos queda copiar el archivo main.c a la carpeta source de palib (palib/template/source) y ejecutar el fichero build.bat que nos compilará el proyecto y obtendremos el fichero template.nds y… ya estaría, solo queda probarlo.

Ejemplo
A modo de ejemplo he compilado una presentación que tengo subida a SlideShare de un trabajo de un alumno de hace años. En la nds se pasan las diapositivas con el PAD (izquierda diapositiva anterior y derecha diapositiva siguiente).

Código del archivo diapositivas.bat
Realmente el que crea el código para main.c es este archivo por lotes cuyo código (en BAT) es el siguiente:

@echo off
set diapositivas=10
set numero=0
:bucleprimero
if %numero%==%diapositivas% (goto seguirprimero) else set /A numero=%numero%+1
echo #include “imagen%numero%.h”
goto bucleprimero

:seguirprimero
set /A diapositivas=%diapositivas%-1
echo s32 pieza=1;
echo int main(void){
echo PA_Init();
echo PA_InitVBL();
echo PA_Init16bitBg(1, 3);
echo PA_LoadJpeg(1, (void*)imagen1);
echo while(1){
echo if(Pad.Newpress.Right)
echo {
echo switch (pieza)
echo {
set numero=0

:buclesegundo
if %numero%==%diapositivas% (goto seguirsegundo) else set /A numero=%numero%+1
echo case %numero%:
set /A numerosig=%numero%+1
echo PA_LoadJpeg(1, (void*)imagen%numerosig%);
echo pieza++;
echo break;
goto buclesegundo

:seguirsegundo
set /A diapositivas=%diapositivas%+1
echo default:
echo break;
echo }
echo }
set numero=1
echo if(Pad.Newpress.Left)
echo {
echo switch (pieza)
echo {

:bucletercero
if %numero%==%diapositivas% (goto seguirtercero) else set /A numero=%numero%+1
echo case %numero%:
set /A numerosig=%numero%-1
echo PA_LoadJpeg(1, (void*)imagen%numerosig%);
echo pieza–;
echo break;
goto bucletercero

:seguirtercero
echo default:
echo break;
echo }
echo }

echo PA_WaitForVBL();
echo }
echo return 0;
echo }

About these ads

5 comentarios

  1. Waw, he encontrado esta web de casualidad, ya que vi en scenebeta lo del programa ese de dibujo isometrico para la nds. Me ha enacantado. Por cierto no tendrias, algun programa para hacer dibujos isometricos o de las vistas de objetos? esque estoy interesado en ello pero no he encontrado ninguno


  2. @ Yalu77: para hacer dibujos isométricos y de vistas de objetos tengo una aplicación en Flash que se usa via web, está aquí:

    https://raultecnologia.wordpress.com/vistas-y-perspectivas/

    (los dos primeros enlaces a “papeles pautados” isométrico y vistas, como la de la aplicación de la NDS pero más grande).

    Vía web también tienes una aplicación muy buena aquí:

    http://www.educacionplastica.net/vistas.htm

    Y si lo que preguntas es para NDS, estoy intentando hacer una sencilla aplicación para dibujar vistas de piezas, pero supongo que me llevará bastante tiempo.

    Saludos,

    raúl

    PD: en realidad del isométrico que salió en scenebeta tengo una versión mejorada, espero subirla en breve, se trata de un conjunto de 10 conjuntos de vistas (alzado, planta y perfil) para dibujar en isométrica y con su solución.


  3. Bueno esos dos primeros son interesantes, y el de la ds me gusto como entretenimiento. Bueno la aplicacion esa tiene buena pinta, pero no se como descargarla, ya que en el link que pone en esa pagina que me has dado parece estar roto o algo.
    De todas formas gracias :)


  4. @Yalu77: los enlaces están en las imágenes de las piezas, abajo donde pone “Obtención de Vistas de Piezas (Nivel Elemental)”, y salta a sitios como este:

    http://www.educacionplastica.net/zirkel/vistas01.html


  5. para hacer esto solo tienes que copiar la funcion del del power point hacerle un parcheado poner el nds2000a
    despues de esto ya puedes verlos incluso con imagenes otra funcion pero mas complicada seria crear un archivo nds pero eso es muy complejo y solo conozco a un puñado de personas que lo puedan hacer sin sobrepasar las imagenes por segundo que admite esa maquinita



Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 41 seguidores