Hola de nuevo:
Ya he implementado algunas cosas y sigo teniendo algunas dudas. Os comento lo que he ido haciendo
Código :
tips: tu clase extiendela de EventDispatcher
Hasta aquí esto...
Código ActionScript :
public class archivoas extends EventDispatcher
Código :
usa un metodo o variable que reciba el archivo a cargar esto te provoca un reuso de la clase
Esto si no me equivoco, ya lo tenia...
Código ActionScript :
loader.addEventListener(Event.COMPLETE, finalizadaCarga);
...
public function finalizadaCarga(event:Event):void
{
...
Código :
cuando este la cargar lista dispara un CustomEvent para darte cuenta desde fuera de la clase que los datos estan "Listos" para accederse
Aquí esto no se exactamente que hace, entiendo que "dispara un evento", pero he estado mirando algunos comentarios y se permite poner valores de constantes, etc... además no se si lo estoy poniendo en el lugar correcto
Código ActionScript :
dispatchEvent(new Event("finalizado"));
Código :
y la variable que almacena lo datos la obtienes atravez de un metodo o un getter..como en ejemplo.
public function onComplete(e:Event):void
{
_data = e.target.data;
}
public function getData():*
{
return _data;
}
El get lo hago funcionar, pero con el set, sigo teniendo problemas, con el ejemplo introducido no consigo que haga la "insercion del valor de una forma "fija"". Además en este punto si no me equivoco, amplia Hernan con...
Código :
Complementado lo que dijo maneuver, sería mejor usar un getter en este caso:
Código :
public function get data():*{
return _data
}
Ok, implementado en mi código y que yo sepa, incluyendo todas las modificaciones indicadas quedaría así. Tengo la duda del Dispach.
Código ActionScript :
package
{
// Importacion de clases
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
public class archivoas extends EventDispatcher
{
// Declaracion de variables
private var _dato:*;
//Declaracion de métodos
public function prueba():void
{
var request:URLRequest = new URLRequest("archivo.txt");
request.method=URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.load(request);
loader.addEventListener(Event.COMPLETE, finalizadaCarga);
}
public function finalizadaCarga(event:Event):void
{
trace (event.target.data + " directo");
_dato=event.target.data;
dispatchEvent(new Event("finalizado"));
// Tambien se puede poner algo así como dispatchEvent(new Event(Event.COMPLETE))
// o dispatchEvent(new Event(archivoas.MiConstante_creada_public_static_const))
}
public function get dato():*
{
return (_dato);
}
}
}
y en .fla
Código ActionScript :
stop();
var test:* ;
var consulta:archivoas = new archivoas();
consulta.prueba();
test=consulta.dato;
En test todavía no consigo introducir el valor deseado. Supongo que será por el dispatchEvent, que es lo que me surgen dudas. Alguna sugerencia?
Gracias por adelantado de vuestra ayuda.
P.D. Indicaros que para vosotros que llevais años con AS y posiblemente con otros lenguajes, esto es una tonteria, estupidez, el codigo está fatal, mal estructurado, etc... Lo asumo y acepto, porque yo llevo muy poco con esto. Posiblemente cuando llevabais tan poco como yo, habían cosas que os bloqueaban y que "no veiais" por mucho que os lo dijeran, y posteriormente visteis que eran muy simples de resolver. Yo estoy en esa fase, la misma que "supuestamente" habeis pasado todos los que sabeis programar y que en la actualidad teneis años de experiencia. Mi insistencia es por querer aprender, por mejorar, por superarme, es simplemente por eso y por nada mas.