Cómo en su web viene muy bien explicado aquí solamente haremos referencia a los retoques o fragmento de código añadidos.
Para empezar creamos una nueva capa donde añadimos un ComboBox de nombre "combositios", un botón para minimizar la aplicación de nombre "bot_min", otro botón para cerrar la aplicación de nombre "bot_cerrar" y un último botón, solamente con zona activa, para poder arrastrar la aplicación por el escritorio.
A continuación creamos un archivo xml de nombre "sitios.xml" con los feeds de nuestros sitios preferidos, la estructura ha de ser así:
Stage.scaleMode = "noScale"; var rssxml:XML = new XML(); rssxml.ignoreWhite = true; rssxml.onLoad = function() { var nodo:XMLNode = rssxml.firstChild.firstChild; var vtit:String = ""; var vurl:String = ""; var vdes:String = ""; var vcon:String = ""; for (i = 0; i < nodo.childNodes.length; i++) { var snodo:XMLNode = nodo.childNodes[i]; switch (snodo.nodeName) { case "title" : vtit = snodo.firstChild.nodeValue; break; case "link" : vurl = snodo.firstChild.nodeValue; break; case "description" : vdes = snodo.firstChild.nodeValue; break; case "item" : vcon = vcon + getContent(snodo); break; } } txttitle.htmlText = "<a href=\"" + vurl + "\">" + vtit + "</a>"; txtdescription.text = vdes; txtcontent.htmlText = vcon; }; function getContent(vxml) { var stit:String = ""; var surl:String = ""; var sdes:String = ""; for (j = 0; j < vxml.childNodes.length; j++) { var sxml:XMLNode = vxml.childNodes[j]; switch (sxml.nodeName) { case "title" : vtit = sxml.firstChild.nodeValue; break; case "link" : vurl = sxml.firstChild.nodeValue; break; case "description" : vdes = sxml.firstChild.nodeValue; break; } } return "<a href=\"" + vurl + "\"><b><font color=\"#990000\">" + vtit + "</font></b></a><br>" + vdes + "<br><br>"; } var sitiosxml:XML = new XML(); sitiosxml.ignoreWhite = true; sitiosxml.onLoad = function() { lo = new Object(); comboDatos = new Array(); combositios.dataProvider = comboDatos; for (i = 0; i < sitiosxml.firstChild.childNodes.length; i++) { comboDatos.addItem({label:sitiosxml.firstChild.childNodes[i].firstChild.nodeValue, data:sitiosxml.firstChild.childNodes[i].attributes.url}); } rssxml.load(sitiosxml.firstChild.childNodes[0].attributes.url); lo.change = function(evt) { rssxml.load(combositios.value); }; combositios.addEventListener('change', lo); }; sitiosxml.load("sitios.xml"); bot_mover.onPress = function() { startDrag(_root); }; bot_mover.onRelease = function() { stopDrag(); }; bot_min.onRelease = function() { mdm.Application.minimizeToTray(true); mdm.Application.minimize(); }; bot_cerrar.onRelease = function() { mdm.Application.exit("ask", "¿Seguro que quieres cerrar?"); };
Como hemos dicho antes, solamente comentaremos los retoques o fragmentos añadidos porque en la web del autor está muy bien explicado.
Al inicio hemos añadido un:
Código :
Stage.scaleMode = "noScale";
Para que luego, al compilarlo con Zinc no nos lo agrande al ponerle ancho y alto 100%.
Al final del lector hemos añadido este otro trozo:
Código :
var sitiosxml:XML = new XML(); sitiosxml.ignoreWhite = true; sitiosxml.onLoad = function() { lo = new Object(); comboDatos = new Array(); combositios.dataProvider = comboDatos; for (i = 0; i < sitiosxml.firstChild.childNodes.length; i++) { comboDatos.addItem({label:sitiosxml.firstChild.childNodes[i].firstChild.nodeValue, data:sitiosxml.firstChild.childNodes[i].attributes.url}); } rssxml.load(sitiosxml.firstChild.childNodes[0].attributes.url); lo.change = function(evt) { rssxml.load(combositios.value); }; combositios.addEventListener('change', lo); }; sitiosxml.load("sitios.xml");
Primero creamos un objeto XML que es donde vamos a cargar nuestro archivo "sitios.xml". Los datos los metemos en el ComboBox y le decimos que nada más cargarse los datos, cargue el primer feed de la lista. También le creamos un listener al ComboBox para que cuando seleccionemos otro Feed nos cargue su contenido.
A continuación ponemos el siguiente trozo de código:
Al botón mover le asignamos un startDrag y stopDrag en los estados Press y Release respectivamente, con esto podremos mover nuestra aplicación por el escritorio.
Luego en el botón "bot_minimizar" le asignamos las funciones de Zinc de minimizar a la barra de tareas y en el botón "bot_cerrar" la función de salir preguntandonos antes si realmente queremos salir.
Bueno, ya tenemos nuestro lector RSS en Flash, y veremos que compilándolo funciona perfectamente. Ahora lo que queremos es compilarlo con Zinc para poder tenerlo en el escritorio como un ejecutable.
Abrimos Zinc y en la pestaña "Input File" le indicamos donde está nuestro archivo .swf en la sección "Input Source", por defecto Zinc no generará el archivo ejecutable con el mismo nombre en la misma ruta.
Luego en la pestaña "Style" en la sección "Window Style" marcamos la opción "Transparent", así solamente se verá lo que hemos diseñado y no tendrá fondo.
En la siguiente pestaña "Size/Position" marcamos la opción "Screen Percentage" y ajustamos los margenes, anchura y altura de nuestra aplicación. Esas serán las zonas donde veremos nuestro programa.
Finalmente llegamos a la pestaña "PC Executable Settings", aquí indicaremos la ruta de nuestro archivo .ico que queremos que tenga nuestro ejecutable, así como la apariencia en la barra de tareas. Nosotros hemos usado este archivo
. También deberemos marcar la opción "Show in Tray" que es la que indica si se muestra el programa en la barra de tareas o no.
Ya sólamente nos queda compilarlo, dándole al botón "Build" que está en la esquina inferior derecha de Zinc. Y listo, nuestro propio lector de RSS en el escritorio y simplemente para añadir feeds tocaremos el xml.
Os podeis descargar los archivos del tip desde aquí.
Me parece genial !!! Gracias por este tip One !! Por:Spacecowboy_blog
jodidamente largo y enredado, pero sí se puede. gracias one
esto es como apollo tambie, no? Por:mussie_blog
Es increible todo lo que se puede hacer con Flash (en este caso con ayuda de MDM) excelente ONE Por:eveevans
estuve probando la parte de zinc con otro swf, anda todo bien pero cuando reproduce algua animacion (aunque sea simple) por ejemplo el roll over de unos btns ya se ve un poco lento... alguna idea de por que puede ser.. algun otro programa para hacer aplicaciones chromless ? Por:nico_blog
He utilizado SWFKit Pro aunque no con animaciones muy cmplejas . Por:nejda_blog
che porfa ayudenme con esto me estoy volviendo loco para hacerlo si podrian cargar el .fla a la web se los agradeceria mucho mi e-mail es elrober_92@hotmail.com Por:Roberto Peña_blog
perdonen no lo vi soy medi boludo Por:Roberto Peña _blog
che nico fijate la vlocidad de fotogramas Por:Roberto Peña_blog
heyt amigo, esta super excelente tu lector de rss, yo lo implemente para una web, y hay un detalle muchos rss no los carga alguien sabe porq? yo imagino que pudieran ser que estan pesados pero aun no lo decifro grax por la ayuda Por:jorgiux
Esta muy bueno!
como hago para abrir los vinculos en una nueva ventana si es para implementarlo en una web? Por:secruza_blog
Tengo una gran duda, de repente no es el tema pero por fa necesito ayuda, he colocado en la directiva (GPO) de windows (XP), un html que contiene una animación en flash, cuando quiero que la vean todos los usuarios, ellos la ven pero los vinculos que ella contiene no los llevan a la direcciones web, quisiera saber cual es el error que estoy cometiendo gracias de antemano Por:Leonardo_blog