Archiv para octubre, 2009

Twitter php API – crear nuevo mensaje

twitter logo

twitter logo

En el post anterior explique como leer los mensajes que hemos escrito en Twitter, ahora les mostrare como crear un nuevo mensaje, la verdad la documentacion de la libreria es mala, pero si uno se pone a analizar las funciones, son muy intuitivas y faciles de usar, creo que este sera el ultimo post sobre este tema (caso cerrado). Primero que todo inicializamos nuestra cuenta como se vio en el Post anterior, luego simplemente invocamos la funcion update de la libreria y escribimos nuestro mensaje. Tenemos que tener en cuenta que este no puede ser mayor a 140 caracteres.

Si tiene alguna duda con cualquiera de la funciones me pueden escribir y con gusto les ayudare.

Twitter php API – Leer publicaciones

Twitter es la plataforma de microbloging, que para las personas que no estan familiarizadas o le suena algo extraño el termino es escribir mensajes cortos (140 caracteres máximo), con alguna información relevante (muchas veces irrelevante). La verdad twitter en un principio no me llamo la atención, tal vez porque a las personas que seguian solo escribian lo que le pasaba en un momento determinado (tengo sueño, estoy en el trabajo etc). Le vine a encontrar un sabor distinto cuando empecé a agregar portales de información y ahi creo que va a estar el valor de la plataforma, el poder agregar las fuentes de información deseadas y reunirlas en un solo lugar (pueden agregarme a twitter prometo llevarle informacion realmente útil). Ahora bien, ya habiéndote convencido del potencial que ofrece twitter, les mostrare como podemos integrarlo a tu sitio utilizando la API de php (Seleccione la más sencilla pero la peor documentada). Para iniciar tenemos que fijar un objetivo en este caso queremos mostrar en nuestra pagina todos los mensajes que hemos escrito. Primero agregamos la referencia de la API al proyecto, que la podemos descargar aqui. Agregamos nuestro usuario y contraseña. Luego seleccionamos el tipo que en este caso es xml, tambien tenemos la opcion de recibir la informacion como json, XML , RSSAtom. La extension utilizada por la libreria para la manipulacion del xml es SimpleXML, personalmente me gusta mas utilizar DOM, pero bueno SimpleXML es sencillo tambien :-). Ya nos desplegara todos los mensajes que hasta la fecha hemos publicado.

Como usar Lightbox 2

Lightbox es una liberia hecha en javascript que permite visualizar imagenes de una forma agradable (por asi decirlo), aunque tambien permite crear una galeria y facilitar la navegacion. Aqui les mostrare como podemos utilizar esta libreria facilmente. Lo primero que tenemos que hacer es descargar lightbox. Existen muchos proyectos parecidos y algunos con elementos adicionales, pero sabiendo como implementar uno podremos manejar cualquier otro. Al descargar los archivos tendremos el javascript, la hoja de estilos y las imagenes (que podemos cambiar a nuestro antojo) En nuestro proyecto agregamos estos elementos y configuramos nuestra pagina de la siguiente forma: 1. Agregamos la referencia a los archivos javascript del lightbox 2. Agregamos la referencia del archivo de estilo 3. Para que se identique a que vinculo se le quiere agregar el lightbox la agregamos la etiqueta rel=”lightbox”. 4. Si se quiere crear una galeria (poder ver las imagenes en secuencia), la etiqueta va llevar el nombre del grupo rel="lightbox[grupo]“. Por pruebas y algunos problemas que tuve, recomiendo colocar los elementos en un div con el mismo class (una buena sugerencia). Ejemplo

GRAVATAR!! no todo esta inventado

gravatar_logo

Creando este blog conoci Gravatar que significa o mejor es la abreviación de globally recognized avatar es un servicio proporcionado por globally-unique avatar y fue desarrollado por Tom Werner. No creo que tenga uno que intuir mucho para saber que gravatar permite crear nuestros avatares para hacerlos compatibles con multiples aplicaciones en este caso blogs. De hecho si tu haz creado un avatar en gravatar y posteas en este blog, tu imagen saldra inmediatamente y cuando la actualices en tu cuenta igual se actualizara en cualquier lugar donde hayas estado. Gravatar permite crear imagenes y darles un calificativo tipo pelicula para colocarla de acuerdo al contenido de la pagina en la que hagas la publicación. Aunque los usuarios no son muchos, vemos que realmente es algo util para todos los bloggers que postean en muchos sitios como yo :-). Igual tiene una API que es facilmente implementable bajo diferente lenguajes como asp, php, flex entre muchos otros. El sitio es www.gravatar.com

Actionscript 3.0 sendAndLoad

Una de las cosas mas utilizadas a la hora de hacer una aplicacion es la comunicacion con ficheros externos (.php, .asp, .aspx etc), para realizar diversas tareas. Como sabemos o si no lo sabes te comento que esta funcion ya no existe dentro del Core de ActionScript 3 asi que si quieres hacer eso que podias hacer con el sendAndLoad en AS2, solo sigue esta pequeña guia. Si estamos trabajado sobre un AS, tenemos que importar la librerias necesarias Creamos el elemento de envio y donde se recibe los datos de respuesta Tambien creamos un elemnto tipo URLVariables que es donde se almaceneran cada una de las variables que se enviaran a la pagina. Luego tenemos los eventos asociados, el primero es el de respuesta, que se ejecuta una vez completado el llamado y si este fue exitoso. El segundo es el de error, en caso de no tener respuesta por cualquier razon (no existe el vinculo, fallo de conexion, etc) El archivo php es el siguiente: Este es un ejemplo de como quedaria con algunas funcionalidades adicionales:

Mi Primer mundo para BOX2D en Actionscript 3

Dentro del lo motores fisicos que mencione en un post anterior esta BOX2D que para mi es el mejor y con el cual he empezado a desarrollar proyectos, la idea ante todo es conocer muy bien su funcionamiento y saber donde esta la documentacion para de esta forma saber todas las posibilidades que nos ofrece. La wiki de BOX2D la puede encontrar aqui. La libreria de flash se puede descargar aqui. El primer elemento, o prime paso que se sebe realizar es la creacion del mundo, que es donde los elementos van a interactuar. lo que vamos a realizar se puede ver a continuacion. Bodies y Shapes (cuerpos y formas) En este mundo todas las particulas de Box2D son cuerpos rigidos es decir tienen un cuerpo y una forma asociada; el cuerpo tiene unas propiedades como lo son la masa, la posición, el factor de amortiguamiento en cambio la forma maneja las colisiones, la fricción, la densidad entre otras variables. Teniendo todos estos datos, box2d puede llevara  cabo los calculos necesarios para darle el realismo necesario a nuestro mundo.

Basicamente nuetro primer ejemplo con BOX2D consta de 2 objetos, una superficie que es una mesa y un objeto que es una caja, coloque un botón para mirar el debug de box2d y asi no ensuciar la animación. Dentro del mismo codigo he colocado la explicacion de cada uno de los elementos utilizados para la programación. Esperen el siguiente tutorial donde agregare nuevo elementos :-) Archivos para Descargar.

ActionScript 3 Motores fisicos

fisica Buscando motores de control de variables fisicas me encontre con varias opciones como son (historia del arte): 1- The Fisix Engine: Este motor solo puede ser usado en flex, tiene una buena documentacion, y ha creado una comunidad al rededor de esta comunidad. Visitar Sitio 2. ActionScript Physics Engine Estas librerías físicas pueden ser usadas tanto en flash como Flex, es muy facil de usar, aunque se encuentra muchos tutorial y ejemplos muchos esta enfocados a Flex. Visitar Sitio 3. FOAM De las librerías físicas creo que es la peor documentada, toca ver ejemplos para poder entender su funcionamiento Visitar Sitio 4. Box2DFlashAS3 Estoy en el apredizaje de esta librería que para mi es la más poderosa y la mejor documentada, se basa en una creada para c++ y empezare a explicar mas adelante su manejo. Visitar Sitio

Flash Screen con swfObject (javascript)

Por inercia muchas personas confunden el termino fullscreen y lo asocian al tamaño de la animación dentro del navegador (piensan automaticamente poner tanto alto como ancho en 100%), pero en primera instancia fullscreen es relativo a la pantalla completa del ordenador. La forma de hacer un fullScreen lo colocare en un siguiente Post. Por ahora me limitare a explicar algo sumamente util y es el control del tamaño de la pantalla. Con esto me refiero a que podemos tener una animación de 800×600 y al tener una pantalla con una resolución mayor el contenido se desplegara sobre toda esta, pero si tenemos una pantalla de menor tamaño ó se hace un resize de la ventana no queremos que la informacion se pierda y por ende queremos que cuando suceda esto salga el scroll respectivo. El Problema It may be worth pointing out that in most cases there are two distinct reasons a flash website might have, for wanting to enable the browser scrollbar. * Si la ventana se ajusta a un tamaño menor al que fue diseñado se deberia agregar un scrollbar. * El contenido es mas largo que el diseño original.

SWFResize, SWFForcesize y SWFObject

SWFResize es una pequeña adicion para el codigo  SWFObject . Este codigo funciona para el SWFObject anterior al 2, igual tambien existe una implementacion utilizando JQuery que mas adelante explicare. Lo realmente importante esta en la funcion createFullBrowserFlash() que es donde se agregara el tamaño minimo de presentacion de nuestra pelicula, en este caso el tamaño es de 980×553 px, de igual forma la funcion setHeight() setiara el alto de la animacion de acuerdo al tamaño que escogimos (553px). Ya reemplazas los puntos donde se refiere al swf por el archivo respectivo y listo. El codigo completo [js]<br /> &lt;script type="text/javascript"&gt;// &lt;![CDATA[<br /> var size = getViewportSize();<br /> function getViewportSize()<br /> {<br /> var size = [0, 0];<br /> if (typeof window.innerWidth != "undefined") {<br /> size = [window.innerWidth, window.innerHeight];<br /> }<br /> else if (typeof document.documentElement != "undefined" &amp;#038;&amp; typeof document.documentElement.clientWidth != "undefined" &amp;#038;&amp; document.documentElement.clientWidth != 0) {<br /> size = [document.documentElement.clientWidth, document.documentElement.clientHeight];<br /> }<br /> else {<br /> size = [document.getElementsByTagName("body")[0].clientWidth, document.getElementsByTagName("body")[0].clientHeight];<br /> }<br /> return size;<br /> }<br /> function createFullBrowserFlash()<br /> {<br /> swfobject.createCSS("html", "height:100%;");<br /> swfobject.createCSS("body", "height:100%;");<br /> swfobject.createCSS("#container", "margin:0; width:100%; height:100%; min-width:980px; min-height:553px;");<br /> }<br /> function setHeight( h )<br /> {<br /> if ( h &lt; size[1] ) h = "100%";<br /> var el = document.getElementById("container");<br /> if ( h != "100%" ) el.style.height = h &lt; 553 ? "553px" : h + "px"; else el.style.height = "100%"; } var flashvars = { }; var params = { "allowscriptaccess": "samedomain" }; swfobject.embedSWF("main.swf", "content", "100%", "100%", "9.0.0", false, flashvars, params); if (swfobject.hasFlashPlayerVersion("9.0.0")) { swfobject.addDomLoadEvent( createFullBrowserFlash ); }<br /> // ]]&gt;&lt;/script&gt;[/js]