Al contrario de lo que ocurría en Windows Phone 7.X donde sólo se disponía de una resolución de pantalla – WVGA (480 x 800) – y, por lo tanto, sólo había que crear una única SplashScreen para nuestras Apps, en Windows Phone 8, Microsoft ha introducido dos nuevas resoluciones de pantalla por lo que se hace necesario crear una SplashScreen para cada una de las diferentes resoluciones, 720p (720 x 1280) y WXGA (768 x 1280).
Windows Phone 7
En Windows Phone 7 basta con sustituir el fichero «SplashScreenImage.jpg«, que viene por defecto por la nueva SplashScreen con las dimensiones WVGA (480 x 800) y que se encuentra en el nodo raíz del proyecto de Windows Phone 7. Hay que prestar especial atención a que el fichero esté incluido como Content en la propiedad «Build Action«.
Windows Phone 8
En Windows Phone 8 se hace necesario que creemos una SplashScreen diferente para cada una de las resoluciones disponibles como se muestra en la tabla siguiente.
Resolución |
Dimensiones en px |
Nombre del fichero |
WVGA |
480 x 800 |
SplashScreenImage.screen-WVGA.jpg |
720p |
720 x 1280 |
SplashScreenImage.screen-720p.jpg |
WXGA |
768 x 1280 |
SplashScreenImage.screen-WXGA.jpg |
Una vez se hayan creado los ficheros, tan sólo hay que desplegarlos en el nodo raíz del proyecto de Windows Phone 8 y, al igual que ocurre en Windows Phone 7, hay que tener especial cuidado con establecer la propiedad «Build Action» con el valor «Content»
XNA Framework
Para poner una SplashScreen a un proyecto XNA no es necesario hacer uso del fichero SplashScreenImage.jpg sino que se debe mostrar una textura al inicio mientras se carga el contenido de la aplicación. Una posible forma óptima de hacerlo es la que nos indican en este artículo de la MSDN.
-
En el método Initialize():
- Llamar a base.Initialize() para crear la propiedad GraphicsDevice
- Cargar la textura
- Dimensionarla a la resolución y orientación del juego
- Establecer que la textura se auto-redimensione con un valor de 2
- Usar el formato comprimido DXT
- Crear una clase de tipo SpriteBatch
- Renderizar la textura
- Llamar al método GraphicsDevice.Present()
- En el método Update(), cargar el contenido incrementalmente.
- En el método Draw(), continuar dibujando la textura de inicio y entonces cambiar a una animación de loading tan pronto como estén cargados los datos.
Te presentamos nuestra colección de Tips & Tricks de desarrollo de apps para Windows Phone