Bueno, he creado un ejemplito básico para entenderlo mejor, a ver si a alguien más le pasa, empiezo a pensar que soy yo... :S
Creo un documento nuevo de flash, creo un rectángulo y lo convierto en símbolo MovieClip, el símbolo se llama MCPelicula. A la instancia de dicho símbolo la llamo main_mc. En el frame 1 meto el siguiente código:
Cita: main_mc.onRelease = function() {
var new_mc:MovieClip = attachMovie("MCPelicula", "segunda_mc", 1);
new_mc.fusuario("hola");
trace("new_mc.texto = "+new_mc.texto);
}
Y dentro de MCPelicula, en el frame 1 he puesto el siguiente código:
Cita: var texto:String = "";
function fusuario(ptext:String)
{
texto = ptext;
trace("texto = "+texto);
}
Como veis es sencillo, al hacer un clic en main_mc tiene que crear otra igual y pasar la cadena "hola" pues lo único que me saca en la ventana de salida es esto:
Lo cual significa que NO ha entrado a ejecutar la función "fusuario" y que la variable no está definida...
¿Cómo lo veis?
Por otro lado, si el código del evento onRelease lo cambio por esto otro:
Cita: main_mc.onRelease = function() {
var new_mc:MovieClip = attachMovie("MCPelicula", "segunda_mc", 1);
new_mc.fusuario = function (ptext:String){ texto = ptext;
trace("texto = "+texto);
}
new_mc.fusuario("hola");
trace("new_mc.texto = "+new_mc.texto);
}
La llamada a la función sí funciona, aunque el último trace no saca el contenido de la variable new_mc.texto.
Este es el resultado:
Cita: texto = hola
new_mc.texto = undefined