31 de mayo de 2013

Objective C: Utilizar GIFs animados

En ocasiones necesitamos utilizar imágenes GIF animadas dentro de una aplicación para iPhone o iPad. Por defecto Objective C no reproduce este tipo de archivos mostrando tan sólo el primer frame de la animación.

Para poder suplir esta carencia podemos generar una imagen con animación vía programación, no es demasiado complicado hacerlo, pero es un poco cansino, y como en esta vida hay que ahorrar tiempo siempre que se pueda me he dedicado a buscar una librería que me permita usar los GIFs animados de una manera tan sencilla como en HTML.

Ahora mismo os recomiendo utilizar esta librería para IOS para mostrar GIFs animados: https://github.com/mayoff/uiimage-from-animated-gif/

Para utilizarla tan sólo hay que seguir las instrucciones de la página, o sea, copiar un par de ficheros a vuestro proyecto, importarlos, meter el #import de la librería en vuestra clase y ale, a disfrutar de los gifs animados.

Aunque el método de carga aparentemente sirva para cargar urls externas también podéis cargar ficheros vinculados al proyecto.

Espero que os sea de provecho :)

28 de mayo de 2013

ZX Spectrum: Cyberadas

Bueno, pues me he decidido por fin, a lo loco, en mi estilo. Esta mañana he publicado en Bubok mi primer pequeño libro de poesías dedicado a mi amado ZX Spectrum, o más bien dedicado a la nostalgia de aquella época.

No soy una persona muy nostálgica, la verdad se ha dicha, pero bueno, la experiencia del libro ha merecido la pena.

Es gratis total y muy, muy rápido de leer. Bastante críptico, es verdad, pero bueno, uno es como es :)

Si queréis descargar Cyberadas gratis haced clic en este enlace.

27 de mayo de 2013

Cómo obtener las coordenadas de una dirección usando Google Maps

Normalmente utilizo 2 sistemas cuando necesito obtener las coordenadas de una dirección:


Así de sencillo, sin programar.

9 de mayo de 2013

Objective C: Codificar url con acentos

Uno de las características más engorrosas del español como idioma a la hora de programar son los acentos y las eñes, especialmente cuando tienes que enviar parámetros a través de una url que debe contener texto con estos caracteres.

Objective C no iba a ser una excepción, así que para evitar problemas tiene un método para codificar correctamente a UTF-8 los acentos y caracteres especiales, este método es stringByAddingPercentEscapesUsingEncoding. Os voy a poner un ejemplo de como utilizarlo.

Vamos a suponer que la variable que contiene la cadena de texto con acentos se llama sCadena. Tendríamos que hacer lo siguiente:


sCadena = [sCadena stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

La cadena de texto quedaría así bien codificada para poder ser utilizada por ejemplo para publicar en Facebook.

Espero que os sea de utilidad :)

5 de mayo de 2013

Nintendo 3DS: Castlevania: Lords of Shadow - Mirror of Fate

Castlevania: Lords of Shadow - Mirror of Fate es la última entrega de la legendaria franquicia de Konami para la Nintendo 3DS. Ha sido concebida y desarrollada por el estudio español Mercury Steam y han conseguido en mi opinión toda una obra maestra.

El planteamiento del juego consiste en manejar a una serie de personajes del clan Belmont a través del castillo de Drácula para intentar acabar con este malvado personaje.

La mecánica del juego es una mezcla entre el típico Castlevania mezclado con elementos de Castlevania Lord of Shadows -especialmente en el sistema de combate- y con ciertos toques de lo que la crítica ha llamado Metroidvania (Symphony of the Ninght y sus sucesores). Es un juego en perspectiva 2.5 en el que el desarrollo de la acción se produce en 2 dimensiones pero con gráficos en 3 dimensiones gracias a lo cual en determinados momentos del juego (QTE y ejecuciones) la cámara se moverá para darnos el ángulo más espectacular.

Mirror of Fate es principalmente un juego de plataformas y exploración en el que tendremos que ir brincando de una parte a otra del castillo de Drácula para encontrar tal o cual objeto. Cómo el juego se juega con varios personajes en ocasiones cruzaremos por zonas comunes para todos del castillo, pero serán los menos de los casos, ya que habitualmente con cada personaje descubriremos zonas diferentes. Hay también bastantes zonas de buceo que me recuerdan mucho a las de Sonic, no sé muy bien por qué :)

El sistema de combate -cómo he mencionado antes- les basa en el del primer Castlevania Lords of Shadows, deberemos bloquear y esquivar a los enemigos convenientemente y arrearles latigazos fuertes y débiles sin piedad realizando combinaciones de botones para conseguir golpes más dañinos. En determinados momentos podremos ejecutar a nuestros adversarios.

El juego tiene un par de puzzles, pero no son demasiado complejos.

El argumento del juego es magistral, parece increíble que hayan utilizado una historia tan buena para un juego de portátil cuando lo habitual es que una historia de este calado en un franquicia se suele reservar para las consolas de sobremesa. Algunas partes de la trama no quedan del todo bien explicadas, pero si hemos jugado a la primera parte podemos rellenar fácilmente los huecos.

A nivel gráfico es realmente espectacular, para mí es el mejor juego de 3DS a nivel gráfico que he visto, el uso además de las 3D de la pantalla superior es genial. Quizás reprocharle que los escenarios son a veces demasiado oscuros, pero bueno, es que estamos en el castillo de Drácula. El engine de Mercury Steam es realmente bueno.

A nivel sonoro la banda sonora es gloriosa, tan buena como la de su hermano mayor, Óscar Araujo de nuevo vuelve a salirse, dan ganas de conectar la portátil a una cadena de sonido para disfrutar al máximo de la épica y de la emoción que transmite.

El juego es muy jugable, en el nivel normal de dificultad menos con un enemigo final no he tenido demasiados problemas. Cuando te lo terminas en nivel normal aparece una dificultad extrema, en esa dificultad lo he probado y si que me parece muy difícil, pero bueno, aún así también tiene su gracia, me lo iré haciendo a ratos :)

En conclusión, todo un must have para la 3DS, juegazo total.

Nota: 9/10