Tengo 2 problemas:
El primero y más importante es que tengo un menú y cada opción carga sus imagenes, borrando las del anterior menú pinchado. Bien, conseguí cargar las imagenes creando un MC vacío con código en el onEnterFrame.
Cada vez que pasaba miraba si había terminado de cargar la anterior foto y si sí, mandaba cargar otra a un MC el cual tenía MovieClipLoader para gestionar la descarga.
Pues el problema era que si pinchabas en una opción del menú y en otra rápidamente, al final no se cargaba ninguna imagen y había que pulsar F5 en el navegador para actualizar la web.
Cada vez que cargaba una opción del menú, obvio que borraba todas las MC de las fotos y el array de fotos y la MC del onEnterFrame...
¿Alguna idea para esto?
------
El segundo problema viene dado un poco por buscar la solución. Es más sencillo de explicar...
Cuando atacho un MC con Action Script no puedo acceder a sus variables y funciones a menos que las cree una vez atachado de forma:
Cita:
Aunque a newVariable le asigne un valor en la nueva MC, después de atachar tiene undefined.var new_mc:MovieClip = attachMovie(...);
new_mc.newFunction();
new_mc.newVariable = 3;
new_mc.newFunction();
new_mc.newVariable = 3;
Código del MC atachado (he quitado partes para no agobiar mucho):
Cita:
Muchas gracias por todo. import mx.transitions.Tween;
import flash.display.BitmapData;
var indice:Number = -1;
var precargador_mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadStart = function(target_mc) {
};
listener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
};
listener.onLoadComplete = function(target_mc) {
target_mc._width = 91.6;
target_mc._height = 56.7;
target_mc._y = 0;
target_mc._x = (target_mc._width * i) + (sepBetwenPics * i);
};
listener.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number) {
var noFoto_bmp:BitmapData = BitmapData.loadBitmap("noImagen.png");
target_mc.attachBitmap(noFoto_bmp, target_mc.getNextHighestDepth());
target_mc._width = 91.6;
target_mc._height = 56.7;
target_mc._y = 0;
target_mc._x = (target_mc._width * i) + (sepBetwenPics * i);
};
precargador_mcl.addListener(listener);
import flash.display.BitmapData;
var indice:Number = -1;
var precargador_mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadStart = function(target_mc) {
};
listener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
};
listener.onLoadComplete = function(target_mc) {
target_mc._width = 91.6;
target_mc._height = 56.7;
target_mc._y = 0;
target_mc._x = (target_mc._width * i) + (sepBetwenPics * i);
};
listener.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number) {
var noFoto_bmp:BitmapData = BitmapData.loadBitmap("noImagen.png");
target_mc.attachBitmap(noFoto_bmp, target_mc.getNextHighestDepth());
target_mc._width = 91.6;
target_mc._height = 56.7;
target_mc._y = 0;
target_mc._x = (target_mc._width * i) + (sepBetwenPics * i);
};
precargador_mcl.addListener(listener);