Archive Page 15

Flash MX - MX2004 News Tiker

Para poner tus enlaces, notícias destacadas, etc. Alimentado vía XML.

This movie requires Flash Player 8

Descarga Newsticker

Newsticker se ha descargado 1,707 veces.

4 Votes | Average: 5 out of 54 Votes | Average: 5 out of 54 Votes | Average: 5 out of 54 Votes | Average: 5 out of 54 Votes | Average: 5 out of 5 (4 votos, promedio: 5 sobre 5)
Loading ... Loading ...

Flash MX 2004 - Componente Tree

This movie requires Flash Player 8

Para utilizar el componente Tree en una aplicación:

1. En un nuevo documento, abrir el panel componentes y arrastrar una instancia del componente ‘Tree’ al escenario.
2. Seleccionando el componente, se abre el inspector de componentes. Escribir en la casilla ‘Nombre de instancia’ modificar el ancho y alto del componente (tambien en el inspector de propiedades)

tree_img01.gif

Inspector de propiedades

Archivo XML

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <nodo label = "Links en español">
  3.     <nodo label = "Blogs">
  4.         <nodo label = "AS Fusion" />
  5.         <nodo label = "Carlos Rovira" />   
  6.         <nodo label = "Code4Net" />
  7.         <nodo label = "Design-nation" />
  8.         <nodo label = "Innocuo" />
  9.         <nodo label = "Funciton" />
  10.         <nodo label = "Oscar Trelles" />
  11.         <nodo label = "SideDev" />
  12.         <nodo label = "Kadazuro" />
  13.         <nodo label = "x-flash"/>
  14.     </nodo>
  15.     <nodo label = "Foros">
  16.         <nodo label = "After-Hours"/>
  17.         <nodo label = "Domestika"/>
  18.         <nodo label = "flashla" />
  19.         <nodo label = "Nomaster" />
  20.         <nodo label = "subflash"/>
  21.         <nodo label = "Stardrag"/>
  22.     </nodo>
  23. </nodo>

Código actionScript

Actionscript:
  1. // -- crear objeto XML
  2. myTreeDP = new XML();
  3. // -- ignorar espacios en blanco
  4. myTreeDP.ignoreWhite = true;
  5. // --
  6. myTreeDP.onLoad = function(succes) {
  7.     // si la carga de XML se efectuó con éxito
  8.     if (succes) {
  9.         // -- proporcionar datos al componente
  10.         myTree.dataProvider = myTreeDP;
  11.     } else {
  12.         trace("No se pudo cargar XML");
  13.     }
  14. };
  15. // -- cargar XML
  16. myTreeDP.load("mixml.xml");
  17. // -- función llamada por el controlador de evento
  18. listenerObject = new Object();
  19. listenerObject.change = function(evtObject) {
  20.     trace("Has seleccionado "+evtObject.target.selectedItem.attributes.label);
  21. };
  22. // -- definir controlador para el vento 'change'
  23. myTree.addEventListener("change", listenerObject);

Descarga Tree.zip

Tree.zip se ha descargado 693 veces.

1 Votes | Average: 5 out of 51 Votes | Average: 5 out of 51 Votes | Average: 5 out of 51 Votes | Average: 5 out of 51 Votes | Average: 5 out of 5 (1 votos, promedio: 5 sobre 5)
Loading ... Loading ...

sharedObject + System.capabilities.language (Selección de idioma)

keywordsSharedObject()

En este tutorial, presenta dos formas de crear un menú de selección de idioma, usando SharedObjecty System.capabilities.language.

sharedObject
Como sabrás, al igual que con JavaScript se pueden almacenar variables en coockies, con actionScript disponemos del objeto sharedObjectque puede almacenar datos en nuestro disco duro crando un archivo de texto con la extensión .sol.

En este caso, usaremos sharedObjectpara almacenar en el disco duro un valor que forzará a que una página web se abra en el idioma que el usuario seleccionó la última vez.

System.capabilities.language

La propiedad languagede la clase System.capabilitiesserá la que determine el lenguaje por defecto la primera vez que el usuario visita el sitio.

Por ejemplo si escribes en un documento flash:

Actionscript:
  1. trace(System.capabilities.language)
  2. // -- devuelve 'es' si  el lenguaje del sistema es el español
  3. // -- devuelve 'en' si  el lenguaje del sistema es el ingles, etc.

Para este ejemplo, he pensado en un menú con tres idiomas (español, francés e Inglés) de forma que si System.capabilities.languagedetecta otro idioma que no sea español 'es' o francés 'fr' el idioma será inglés 'en'.

Al principio he mencionado que habia ideado dos sistemas, en realidad es uno pero con dos comportamientos ligeramente distintos:

Sistema 1, mostrar siempre los tres botones de idioma

Aunque siempre se mostrará un mensaje de bienvenida en el idioma por defecto (el que marque el sistema en la primera visita o el seleccionado por el ususario en su última visita), siempre se dispondrá de la posibilidad de seleccionar otro idioma,

Actionscript:
  1. Stage.scaleMode = "noscale";
  2. // -- botones selección idioma
  3. import mx.controls.Button;
  4. createClassObject(Button, "es_btn", 1, {label:"Bienvenido", _x:100, _y:100});
  5. createClassObject(Button, "fr_btn", 2, {label:"Bienvenue", _x:210, _y:100});
  6. createClassObject(Button, "en_btn", 3, {label:"Wellcome", _x:320, _y:100});
  7. // -- almacenar idioma en sharedObject
  8. var setLanguage = function (lang) {
  9.     idioma_so.data.idioma = lang;
  10.     idioma_so.flush();
  11. };
  12. // -- saludar
  13. var saludar = function (idioma) {
  14.     switch (idioma) {
  15.     case "es" :
  16.         trace("Bienvenido");
  17.         break;
  18.     case "fr" :
  19.         trace("Bienvenue");
  20.         break;
  21.     default :
  22.         trace("Wellcome");
  23.     }
  24. };
  25. // -- crea un sharedObject para almacenar el idioma seleccionado
  26. // -- si ya está creado lo abre
  27. var idioma_so = SharedObject.getLocal("idioma");
  28. // --
  29. if (idioma_so.data.idioma == null) {
  30.     // -- 1 detecta el lenguaje del sistema
  31.     // -- 2 primera visita, se saludo en el idioma del sistema
  32.     var lenguajeSystem = System.capabilities.language;
  33.     saludar(lenguajeSystem);
  34. } else {
  35.     // -- saluda según el idioma establecido en sharedObject
  36.     saludar(idioma_so.data.idioma);
  37. }
  38. // -- seleccionar idioma y entrar
  39. // -- 1. almacena el idioma en sharedObject según botón pulsado
  40. // -- 2. abrir la página según idioma
  41. myButtonListener = new Object();
  42. myButtonListener.click = function(evt) {
  43.     switch (evt.target) {
  44.     case es_btn :
  45.         setLanguage("es");
  46.         // -- entrar en la página en español
  47.         break;
  48.     case fr_btn :
  49.         setLanguage("fr");
  50.         // -- entrar en la página en franc&eacute;s
  51.         break;
  52.     default :
  53.         setLanguage("en");
  54.         // -- entrar en la página en ingl&eacute;s
  55.     }
  56. };
  57. es_btn.addEventListener("click", myButtonListener);
  58. fr_btn.addEventListener("click", myButtonListener);
  59. en_btn.addEventListener("click", myButtonListener);

Sistema 2, mostrar un único botón (tras la primera visita)

En la primera visita, se muestra el idioma establecido por el sistema, en posteriores visitas, solo se mostrará un botón en el idoma seleccionado en la última visita del usuario.

Actionscript:
  1. Stage.scaleMode = "noscale";
  2. // -- botones selección idioma
  3. var createMenuLanguage = function (langButon) {
  4.     import mx.controls.Button;
  5.     switch (langButon) {
  6.     case "es" :
  7.         createClassObject(Button, "es_btn", 1, {label:"Bienvenido", _x:100, _y:100});
  8.         break;
  9.     case "fr" :
  10.         createClassObject(Button, "fr_btn", 2, {label:"Bienvenue", _x:100, _y:100});
  11.         break;
  12.     case "en" :
  13.         createClassObject(Button, "en_btn", 3, {label:"Wellcome", _x:100, _y:100});
  14.         break;
  15.     default :
  16.         createClassObject(Button, "es_btn", 1, {label:"Bienvenido", _x:100, _y:100});
  17.         createClassObject(Button, "fr_btn", 2, {label:"Bienvenue", _x:210, _y:100});
  18.         createClassObject(Button, "en_btn", 3, {label:"Wellcome", _x:320, _y:100});
  19.     }
  20. };
  21. // -- almacenar idioma en sharedObject
  22. var setLanguage = function (lang) {
  23.     idioma_so.data.idioma = lang;
  24.     idioma_so.flush();
  25. };
  26. // -- saludar
  27. var saludar = function (idioma) {
  28.     switch (idioma) {
  29.     case "es" :
  30.         trace("Bienvenido");
  31.         break;
  32.     case "fr" :
  33.         trace("Bienvenue");
  34.         break;
  35.     default :
  36.         trace("Wellcome");
  37.     }
  38. };
  39. // -- crea un sharedObject para almacenar el idioma seleccionado
  40. // -- si ya está creado lo abre
  41. var idioma_so = SharedObject.getLocal("idioma");
  42. // --
  43. if (idioma_so.data.idioma == null) {
  44.     // -- 1 detecta el lenguaje del sistema
  45.     // -- 2 primera visita, se saludo en el idioma del sistema
  46.     // -- 3 se presenta el menú de selección de lenguaje en varios idiomas
  47.     var lenguajeSystem = System.capabilities.language;
  48.     saludar(lenguajeSystem);
  49.     createMenuLanguage();
  50. } else {
  51.     // -- saluda según el idioma establecido en sharedObject
  52.     // -- se presenta botón en idoma almacenado en sharedObject
  53.     saludar(idioma_so.data.idioma);
  54.     createMenuLanguage(idioma_so.data.idioma);
  55. }
  56. // -- seleccionar idioma y entrar
  57. // -- 1. almacena el idioma en sharedObject según botón pulsado
  58. // -- 2. abrir la página según idioma
  59. myButtonListener = new Object();
  60. myButtonListener.click = function(evt) {
  61.     switch (evt.target) {
  62.     case es_btn :
  63.         setLanguage("es");
  64.         // -- entrar en la página en español
  65.         break;
  66.     case fr_btn :
  67.         setLanguage("fr");
  68.         // -- entrar en la página en francés
  69.         break;
  70.     default :
  71.         setLanguage("en");
  72.         // -- entrar en la página en inglés
  73.     }
  74. };
  75. es_btn.addEventListener("click", myButtonListener);
  76. fr_btn.addEventListener("click", myButtonListener);
  77. en_btn.addEventListener("click", myButtonListener);

Descarga Idiomas.zip

Idiomas.zip se ha descargado 380 veces.

2 Votes | Average: 5 out of 52 Votes | Average: 5 out of 52 Votes | Average: 5 out of 52 Votes | Average: 5 out of 52 Votes | Average: 5 out of 5 (2 votos, promedio: 5 sobre 5)
Loading ... Loading ...