Lo de duplicar mcs ocupara una bestialidad de recursos... Si estas con
flash 8 te recomiendo en serio el beginBitmapFill... yo lo usé en
http://bgmaker.ventdaval.com y va como la seda... te dejo la funcion que
actualiza el fondo al onResize:
function resizeBG() {
with(fondo) {
clear();
beginBitmapFill(bmp); //bmp es un bitmapData con la imagen de
fondo...
moveTo(0, 0);
lineTo(Stage.width, 0);
lineTo(Stage.width, Stage.height);
lineTo(0, Stage.height);
lineTo(0, 0);
endFill();
}
}
Si estas con Flash 7 o inferior, te recomiendo crear un cuadrado de unos
2000x2000 (para que no tengas que redimensionarlo al onResize), y
rellenarlo con el bitmap que tengas en libreria (es un poco chungo lo de
redimensionarlo pq cambia la escala, pero con un poco de practica creo
que lo sacaras :P)... si lo haces bien te deberia quedar el fondo con un
mosaico de la imagen...Ah, y cuidado, flash se atasca un huevo cuando
intentas copiar/pegar una forma con un mosaico de bitmaps... si es muy
grande (y la imagen muy chica) puede incluso petarte el Flash y tendras
que reiniciarlo :P
Saludos...
Marco Antonio Solis Cruz escribió:
> Hola, gracias por la ayuda que me dieron.... es una muy buena opción.
> Para la opción del fondo opté por realizar duplicaciones del mc, pero esto
> hace que el procesador trabaje hasta mi punto de vista inecesariamente,
> seguiré investigando para utilizar el metodo que recomienda el buen Cay
> Garrido.
> Bueno pues utilizando la duplicidad de mc, quiero gestionar o controlar
> cuando el usuario cambie de tamaño el mc, para que se redimensione el back y
> no genere distorción alguna....
> esto lo logré, pero vi que duplican muchisimos, despues de que se
> redimenciona n veces.... reducí esto haciendo que cada vez que cambie el
> tamaño, reemplaze los existentes y vuelva a generar el mosaico... solo que
> aqui es donde me atoré, logré hacerlo, pero casualmente cuando se restaura
> la ventana, siempre falta una ultima fila.
> Pensé que esto era porque mis variables que uso para los bucles de
> duplicidad, contenian valores del calculo anterior, pero no es asi, pues
> estan dentro de un metodo y estos inicializan cada vez que se le llama al
> metodo...
> Espero que alguien me pueda decir que está mal de mi codigo, aqui lo
> pongo...
> //Variables del Stage
> var stageListener:Object = new Object();
> //Ciamdo cambia de tamaño
> stageListener.onResize = function() {
> //aqui calculo cuantos items voy a necesitar, dividiendo el ancho de mi
> stage, entre el ancho de mi mc q será el fondo. q en este caso es 400 y 300,
> le aumento uno, para rellenar un poco mas, por si las moscas...
> fondo(Math.round(Stage.width/400)+1, Math.round(Stage.height/300)+2, 0);
> };
> Stage.scaleMode = "noScale";
> Stage.align = "TL";
> Stage.addListener(stageListener);
>
> //
> function fondo(ancho, alto, prof) {
> for (i=0; i<alto; i++) {
> for (h=0; h<ancho; h++) {
> _root.attachMovie("back", "back"+i+h, prof--);
> _root["back"+i+h]._x = h*400;
> _root["back"+i+h]._y = i*300;
> trace(prof);
> }
> }
> }
> fondo(Math.round(Stage.width/400)+1, Math.round(Stage.height/300)+1, 0);
>
> Nota: Para probarlo, basta copiar el codigo en el primer fotograma y tener
> en la libreria un mc que este "exportado para AS", con el nombre de "back
>
> Gracias de antemano por su ayuda!!!!!
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
>
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------