ActionScript - Array desde un Arxivo externo txt

 
Vista:

Array desde un Arxivo externo txt

Publicado por Carlos (5 intervenciones) el 24/04/2006 17:28:16
Hola!
Estoy intentando realizar una carga externa de una matriz.
Me explico:
Necessito crear una matriz cuyos contenidos puedan ser modificados en un txt o en algun otro arxivo externo para luego mediante un formulario hecho en php me vaya actualizando los datos un usuario que no conoce AS.
En otro foro he encontrado una explicación muy útil que aparentemente me solucionaba el problema:

El tutorial propone escribir este string en el *.txt:
&myArray=php|mysql|actionscript|html&
y en el panel de acciones lo siguiente:
varReceiver = new LoadVars();
varReceiver.load("external.txt");
varReceiver.onLoad = function(){
trace(typeof (this.myArray)); // string
this.myArray = this.myArray.split("|");
trace(typeof (this.myArray)); // object
trace(this.myArray.length); // 4
};

es un sistema muy senzillo e ingenioso que consiste en una vez cargado el string explotarlo mediante split() i conventrilo en un Array tan largo como valores haya añadido el usuario.

Pero bien, hago las pruebas dentro del método onLoad y todas las pruebas simples funcionan puedo llamar a las variables e incluso introducirlas en un campo de texto dinamico.
pero si luego necessito volver a llamar a alguna de estas variables a lo largo de la pelicula, o incluso en el mismo frame pero en un objeto diferente el invento no funciona.
entonces me encuentro que no puedo declarar ninguna funcion para luego usarla en mi pelicula porque esta no funciona.
Qué debo hacer?
Como puedo construir un Array desde un arxivo externo (preferiblemente txt)?
si el sistema que he utitlizado os funciona, qué estoy haciendo mal?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Carga externa de una matriz desde archivo

Publicado por Alejandro (369 intervenciones) el 22/06/2023 16:31:03
Para cargar una matriz desde un archivo externo, como un archivo de texto, puedes seguir los siguientes pasos:

1. Prepara el archivo externo:
Crea un archivo de texto (.txt) que contenga los datos de la matriz en un formato adecuado. Por ejemplo, puedes usar un delimitador (como "|" o ",") para separar los valores de la matriz. Asegúrate de que el archivo externo esté ubicado en una ruta accesible para la aplicación Flash.

2. Carga el archivo externo en Flash:
Utiliza el objeto LoadVars para cargar el contenido del archivo externo en Flash. Puedes hacerlo de la siguiente manera:
1
2
var varReceiver:LoadVars = new LoadVars();
varReceiver.load("ruta_del_archivo.txt");

3. Procesa los datos cargados:
Una vez que el archivo externo se haya cargado correctamente, puedes procesar los datos y convertirlos en una matriz dentro de tu película. Puedes utilizar el método onLoad del objeto LoadVars para realizar esta tarea. Aquí tienes un ejemplo:
1
2
3
4
5
6
7
8
9
10
var varReceiver:LoadVars = new LoadVars();
varReceiver.load("ruta_del_archivo.txt");
varReceiver.onLoad = function(success:Boolean) {
  if (success) {
    var myArray:Array = this.myArray.split("|"); // Reemplaza "|" con el delimitador adecuado en tu archivo externo
    // A partir de aquí, puedes utilizar la matriz (myArray) en tu película
  } else {
    // Maneja el caso en el que no se haya podido cargar el archivo externo
  }
};

Asegúrate de ajustar la ruta del archivo externo ("ruta_del_archivo.txt") para que coincida con la ubicación real del archivo en tu proyecto.

Con respecto a tu problema de no poder acceder a las variables fuera del método onLoad, asegúrate de que estás declarando las variables en un alcance adecuado, como en el nivel de raíz (_root), para que puedan ser accedidas desde cualquier parte de la película.

Espero que esta solución te ayude a cargar y utilizar una matriz desde un archivo externo en Flash. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar