Hola Alexandro11:
Verás, crea 2 archivos además del .fla que ya tienes. El primero lo creas en flash como archivo actionScript y lo llamas Mensajes.as
ES MUY IMPORTANTE QUE EL NOMBRE DEL ARCHIVO SEA EXACTAMENTE ESE.
Y dentro del archivo copias pegas esto:
Código ActionScript :
import mx.utils.Delegate;
class Mensajes {
private var capa:Number;
private var archivo:XML;
private var contenedor:MovieClip;
private var mensaje_txt:MovieClip;
function Mensajes (objeto:MovieClip, profundidad:Number) {
contenedor = objeto;
capa = profundidad;
// CAMBIAR ESTOS VALORES PARA LA POSICION DE LA CAJA
contenedor._x = Stage.width / 2;
contenedor._y = Stage.height / 2;
cargarXML();
}
private function cargarXML () :Void {
archivo = new XML();
archivo.ignoreWhite = true;
archivo.onLoad = Delegate.create(this, crearMensaje);
archivo.load("mensajes.xml");
}
private function crearMensaje () :Void {
var total:Number = archivo.firstChild.childNodes.length;
var rand:Number = random(total) + 1;
var texto:String = archivo.firstChild.childNodes[rand].attributes.mensaje;
contenedor.createTextField("Mensaje", capa, 0, 0, 0, 0);
contenedor.Mensaje.text = texto;
// Cambiar estos valores para el tipo de fuente
formato(contenedor.Mensaje, 22, "Arial", 0x000000, 0);
}
private function formato (objeto:TextField, tamano:Number, fuente:String, color:Number, kerning:Number) :Void {
objeto.background = false;
objeto.border = false;
objeto.selectable = false;
objeto.multiline = false;
objeto.embedFonts = false;
objeto.html = true;
objeto.autoSize = "center";
objeto.antiAliasType = "advanced";
var formato:TextFormat = new TextFormat();
formato.font = fuente;
formato.color = color;
formato.size = tamano;
formato.letterSpacing = kerning;
objeto.setTextFormat(formato);
}
}
Te he creado varias anotaciones en los valores que has de cambiar para cambiar el aspecto y la posición de la caja. Lo podría haber desarrollado más pero ya estoy cansado.
Después te creas otro como actionScript también y lo llamas mensajes.xml
Tanto el archivo .as como el .xml es un simple archivo de texto de manera que los podrás editar incluso con un notepad.
Dentro del XML pegas esto:
Código XML :
<mensaje>
<texto mensaje="mensaje1">1</texto>
<texto mensaje="mensaje2">2</texto>
<texto mensaje="mensaje3">3</texto>
<texto mensaje="mensaje4">4</texto>
<texto mensaje="mensaje5">5</texto>
<texto mensaje="mensaje6">6</texto>
<texto mensaje="mensaje7">7</texto>
<texto mensaje="mensaje8">8</texto>
<texto mensaje="mensaje9">9</texto>
<texto mensaje="mensaje10">10</texto>
</mensaje>
Ahora reemplazas cada linea como esta <texto mensaje="mensaje7">7</texto>
Por una como esta <texto mensaje="TUMENSAJE">7</texto>
Y añades todas las demás que quieras si son 200 pues 200 si son 3000 pues 3000, con esto lo bueno es que cuando quieras agregar o quitar mensajes, no tendrás ni siquiera que abrir el flash, con que agregues o quites lineas del XML ya estarás listo.
Y por último añadir este código en el último frame de tu animación de la botella
Código ActionScript :
var mensaje:Mensajes = new Mensajes(this, 3);
Y aquí cambias el this por un MovieClip si quieres que te cree la caja dentro de un movieClip en vez de en el _root, y después el 3 lo cambias por la capa en la que lo quieras poner.
También es importante que el .fla, el .as y el .xml estén en la misma carpeta. A no ser que cambies la ruta del .xml en el .as y en el .fla incorpores la dirección de la carpeta donde está el .as.
Bueno el código seguro que no es ni mucho menos perfecto, así que animo a que hagáis aportaciones para mejorarlo, yo tengo muchas en la cabeza, pero estoy cansado por hoy.
Un saludo a todos.