XML, CSS y Flash
Muy buenas a todos,
Os quería consultar un problema que estoy teniendo recientemente y al cual no sé cómo dar solución. Os explico un poco todo el proceso.
He creado un xml al que le he dado formato con css...todo funciona a la perfección.
Ahora quiero meterlo en flash.
En el _root creo una caja de texto dinámico con nombre de instancia myTextField_txt, multilínea, html y demás...
En la línea de tiempo del as pongo el siguiente código:
myTextField_txt.html = true;
myTextField_txt.wordWrap = true;
myTextField_txt.multiline = true;
myTextField_txt.condenseWhite = true;
var myCSS = new TextField.StyleSheet();
var cssURL = "direcciones.css";
myCSS.load(cssURL);
myCSS.onLoad = function(success) {
if (success) {
myTextField_txt.styleSheet = myCSS;
myTextField_txt.text = "CSS file loaded successfully. You may proceed.";
} else {
myTextField_txt.text = "CSS file failed to load!";
}
}
myContent = new XML();
myContent.ignoreWhite = true;
myContent.load("direcciones.xml");
myContent.onLoad = function(success) {
if (success) {
myTextField_txt.text = myContent;
} else {
myTextField_txt.text += "<br /> XML file failed to load!";
}
}
Hasta aquí todo funciona...
Ahora meto mi caja de texto en un movieclip para poder ponerle una máscara, scroll y demás...ese nuevo movieclip va dentro de otro movieclip y así unos cuantos...
Ahí es donde surge el problema...el xml ya no se carga...he intentado poner el código en el _root, fuera del movieclip, dentro y mil cosas más, pero sigue sin funcionar...
Alguien sabe donde tengo que ponerlo o si me falta algo???
Muchas gracias de antemano.
odrakir
El XML no se carga o no se muestra en el campo de texto? Si es lo segundo comprueba que las fuentes estén incrustadas.
lodev
No se carga...
odrakir
Tengo el AS2 super oxidado. Pero yo pondría en load después del onLoad, no vaya a ser que en local se cargue antes de que se defina la función.
athomix
Parece un problema de rutas.
Cuando dices "Hasta aquí todo funciona..." a que te refieres? se carga el CSS? se carga el XML? se muestra? se ejecuta?
lodev
Efectivamente, es un problema de rutas.
Cuando todo está en el _root funciona correctamente, el problema viene cuando lo meto en movieclips, ahí es cuando peta, y ya no carga nada.
athomix
// Dejando el script en el root
// MC = instancia de tu movieclip
// voy a suponer que metes el TextField en el MC
MC.myTextField_txt.html = true;
MC.myTextField_txt.wordWrap = true;
MC.myTextField_txt.multiline = true;
MC.myTextField_txt.condenseWhite = true;
var myCSS = new TextField.StyleSheet();
var cssURL = "direcciones.css";
myCSS.load(cssURL);
myCSS.onLoad = function(success) {
if (success) {
MC.myTextField_txt.styleSheet = myCSS;
MC.myTextField_txt.text = "CSS file loaded successfully. You may proceed.";
} else {
MC.myTextField_txt.text = "CSS file failed to load!";
}
}
myContent = new XML();
myContent.ignoreWhite = true;
myContent.load("direcciones.xml");
myContent.onLoad = function(success) {
if (success) {
MC.myTextField_txt.text = myContent;
} else {
MC.myTextField_txt.text += "<br /> XML file failed to load!";
}
}
Prueba a ver si funciona.
lodev
Muchas Gracias Athomix.
Lo probaré.