Flash CS4 Professional ActionScript 2.0

Utilización de variables en un proyecto

Al crear animaciones o aplicaciones con Flash, existen muy pocas situaciones en las que no sea necesario utilizar ninguna clase de variable en el proyecto. Por ejemplo, si crea un sistema de inicio de sesión, es posible que necesite variables para determinar si el nombre del usuario y la contraseña son válidos o si se han facilitado dichos datos.

Encontrará más información sobre la carga de variables (como, por ejemplo, pares nombre/valor) en el Trabajo con datos externos.

En el siguiente ejemplo, las variables se utilizan para almacenar la ruta de una imagen que va a cargar con la clase Loader, una variable para la instancia de la clase Loader y varias funciones a las que se llama en función de si el archivo se carga correctamente o no.

 Para utilizar variables en un proyecto:

  1. Cree un nuevo documento de Flash y guárdelo como imgloader.fla.
  2. Seleccione el fotograma 1 de la línea de tiempo y añada el siguiente código ActionScript en el panel Acciones:
    /* Especificar la imagen predeterminada por si no se pasa ningún valor mediante FlashVars. */
    var imgUrl:String = "http://www.helpexamples.com/flash/images/image1.jpg";
    if (_level0.imgURL != undefined) {
        // Si se ha especificado la imagen, se sobrescribe el valor predeterminado.
        imgUrl = _level0.imgURL;
    }
    
    this.createEmptyMovieClip("img_mc", 10);
    var mclListener:Object = new Object();
    mclListener.onLoadInit = function(target_mc:MovieClip):Void {
        target_mc._x = (Stage.width - target_mc._width) / 2;
        target_mc._y = (Stage.height - target_mc._height) / 2;
    }
    mclListener.onLoadError = function(target_mc:MovieClip):Void {
        target_mc.createTextField("error_txt", 1, 0, 0, 100, 20);
        target_mc.error_txt.autoSize = "left";
        target_mc.error_txt.text = "Error downloading specified image;\n\t" + target_mc._url;
    }
    var myMCL:MovieClipLoader = new MovieClipLoader();
    myMCL.addListener(mclListener);
    myMCL.loadClip(imgUrl, img_mc);
    
    

    La primera línea de código especifica la imagen que desea cargar dinámicamente en el documento de Flash. Seguidamente, deberá comprobar si se ha especificado un nuevo valor para imgURL mediante FlashVars o variables con codificación URL. Si se ha especificado un nuevo valor, éste nuevo valor sobrescribirá la URL de la imagen predeterminada. Para más información sobre la utilización de variables de URL, consulte Utilización de variables desde la URL. Para obtener información sobre FlashVars, consulte Utilización de FlashVars en una aplicación.

    Las siguientes líneas del código definen la instancia de MovieClip y un objeto detector para la futura instancia de MovieClipLoader. El objeto detector de MovieClipLoader define dos controladores de eventos, onLoadInit y onLoadError. Los controladores se invocan cuando la imagen se carga correctamente y se inicializa en el escenario o si se produce un error al cargar la imagen. Seguidamente, se crea una instancia de MovieClipLoader y se utiliza el método addListener() para añadir el objeto detector previamente definido a MovieClipLoader. Finalmente, la imagen se descarga y se activa al llamar al método MovieClipLoader.loadClip(), que especifica el archivo de imagen que debe cargarse y el clip de película de destino en el que debe cargarse la imagen.

  3. Seleccione Control > Probar película para probar el documento.

    Dado que está comprobando el documento de Flash en la herramienta de edición, no se pasará ningún valor para imgUrl mediante FlashVars ni en la URL, por lo que se mostrará la imagen predeterminada.

  4. Guarde el documento de Flash y seleccione Archivo > Publicar para publicar el archivo como documento SWF y HTML.

    NOTA

     

    Asegúrese de que Flash y HTML están seleccionados en el cuadro de diálogo Configuración de publicación. Seleccione Archivo > Configuración de publicación y elija la ficha Formatos. A continuación, seleccione ambas opciones.

  5. Si comprueba el documento en la herramienta Flash (seleccione Control > Probar película) o en un navegador local (Archivo > Vista previa de publicación > HTML), observará que la imagen se centra vertical y horizontalmente en el escenario.
  6. Edite el documento HTML generado en un editor (como Dreamweaver o el Bloc de notas) y modifique el código HTML para que coincida con el siguiente texto:
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="imgloader" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="imgloader.swf" />
    <param name="FlashVars" value="imgURL=http://www.helpexamples.com/flash/images/image2.jpg">
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <embed src="imgloader.swf" quality="high" FlashVars="imgURL=http://www.helpexamples.com/flash/images/image2.jpg" bgcolor="#ffffff" width="550" height="400" name="imgloader" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
    </object>
    
    
  7. Pruebe el documento HTML para ver los cambios. La imagen que especifique en el código HTML aparecerá en el archivo SWF.

    Para modificar este ejemplo y utilizar sus propias imágenes, modificaría el valor FlashVars (la cadena dentro de las comillas dobles).