Generación Movie clips dinámicamente
Publicado por Paula Rojas (1 intervención) el 26/10/2006 18:23:33
buenas
Tengo el siguiente inconveniente:
Necesito tomar de una base de datos el nombre de la imagenes que cargaré en un movie clip. El asunto es que necesito que se carguen todas las imagenes, como opciones una seguida de la otra.
Hasta ahora tengo este código:
--------------------------------------------------------------------------------------------------------------------
var obj:Number;
var kipat_type=1;
var url = "http://paularojas.com/kipat/colors.php?kipat_type="+kipat_type;
var colores:Array = new Array();
temp = new LoadVars();
temp.load(url);
trace("1: "+colores.length);
temp.onLoad = function(exitoso:Boolean) {
var paisesArray:Array = new Array();
for(var a in this){
if(a != "onLoad"){
paisesArray.push(this[a]);
}
}
for (var i=0; i<paisesArray.length; i=i+2) {
colores[i]=paisesArray[i];
//trace(paisesArray[i]);
//trace(colores[i]);
}
trace("2: "+colores.length);
}
trace("3: "+colores.length);
//////////////////////////////////////////////////////////////////////////////////////
/// código fotograma90
var imagen =0;
clip = _root.createEmptyMovieClip("my_mc", 0);
for (obj=0; imagen<this.colores.length; obj++) {
trace("fotograma 90");
trace(imagen + " " +colores[imagen]);
trace(obj);
//clip = _root.createEmptyMovieClip("my_mc"+obj, 0);
//clip2 = clip.createEmptyMovieClip("container_mc"+obj,1);
my_mc.createEmptyMovieClip("container_mc"+obj,1);
set ("my_mcl" + obj, new MovieClipLoader());
//var this["my_mcl"+obj]:MovieClipLoader = new MovieClipLoader();
this["my_mcl"+obj].loadClip("http://paularojas.com/images/"+colores[imagen],clip.container_mc+obj);
my_mc.onEnterFrame = function():Void {
this["my_mc.container_mc"+obj]._width=30;
eval("my_mc.container_mc"+obj)._x=35*obj;
eval("my_mc.container_mc"+obj)._y=3;
}
imagen= obj+2;
}
------------------------------------
Pero entonces en primer lugar cargan dos imagenes, una seguida de la otra y sobrepuestas. No cada una por separado como si sucede si el código del fotograma90 lo dejo así:
this.createEmptyMovieClip("my_mc", 0);
my_mc.createEmptyMovieClip("container_mc",1);
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("http://localhost/MMG_Kipat/images/image1.jpg",my_mc.container_mc);
//////////////////////////// FIRST OPTION ///////////////////////////
my_mc.onEnterFrame = function():Void {
my_mc.container_mc._width=30;
my_mc.container_mc._x=35;
my_mc.container_mc._y=3;
}
my_mc.onPress = function():Void {
_root.pattern = "PAT1";
/*
var colorful = new Color("_level0.kippa.fondo_kippa");
colorful.setRGB(0xFAE72F);
if (_root.ocultar_pattern._visible == true) {
_root.ocultar_pattern._visible = false;
}
*/
var kippa0:MovieClipLoader = new MovieClipLoader();
kippa0.loadClip("http://localhost/MMG_Kipat/images/image4.jpg",_level0.kippa.fondo_kippa);
if (_root.ocultar_pattern._visible == true) {
_root.ocultar_pattern._visible = false;
}
};
///////////////////////// SECOND OPTION /////////////////////////
this.createEmptyMovieClip("my_mc2", 20);
my_mc2.createEmptyMovieClip("container_mc2",30);
var my_mcl2:MovieClipLoader = new MovieClipLoader();
my_mcl2.loadClip("http://localhost/MMG_Kipat/images/image3.jpg",my_mc2.container_mc2);
my_mc2.onEnterFrame = function():Void {
my_mc2.container_mc2._width=30;
my_mc2.container_mc2._x=70;
my_mc2.container_mc2._y=3;
}
my_mc2.onPress = function():Void {
var kippal:MovieClipLoader = new MovieClipLoader();
kippal.loadClip("http://localhost/MMG_Kipat/images/image3.jpg",_level0.kippa.costura_kippa);
if (_root.ocultar_pattern1._visible == true) {
_root.ocultar_pattern1._visible = false;
}
};
---------------------
Y por otro lado, tengo que esperar un tiempo para que se cargue completamente el arreglo del fotograma 1, por eso la solución horrorosa de poner el resto del código hasta el fotograma90.
Necesito solucionar ese par de cositas. Alguien tiene alguna sugerencia?
Muchas gracias.
Tengo el siguiente inconveniente:
Necesito tomar de una base de datos el nombre de la imagenes que cargaré en un movie clip. El asunto es que necesito que se carguen todas las imagenes, como opciones una seguida de la otra.
Hasta ahora tengo este código:
--------------------------------------------------------------------------------------------------------------------
var obj:Number;
var kipat_type=1;
var url = "http://paularojas.com/kipat/colors.php?kipat_type="+kipat_type;
var colores:Array = new Array();
temp = new LoadVars();
temp.load(url);
trace("1: "+colores.length);
temp.onLoad = function(exitoso:Boolean) {
var paisesArray:Array = new Array();
for(var a in this){
if(a != "onLoad"){
paisesArray.push(this[a]);
}
}
for (var i=0; i<paisesArray.length; i=i+2) {
colores[i]=paisesArray[i];
//trace(paisesArray[i]);
//trace(colores[i]);
}
trace("2: "+colores.length);
}
trace("3: "+colores.length);
//////////////////////////////////////////////////////////////////////////////////////
/// código fotograma90
var imagen =0;
clip = _root.createEmptyMovieClip("my_mc", 0);
for (obj=0; imagen<this.colores.length; obj++) {
trace("fotograma 90");
trace(imagen + " " +colores[imagen]);
trace(obj);
//clip = _root.createEmptyMovieClip("my_mc"+obj, 0);
//clip2 = clip.createEmptyMovieClip("container_mc"+obj,1);
my_mc.createEmptyMovieClip("container_mc"+obj,1);
set ("my_mcl" + obj, new MovieClipLoader());
//var this["my_mcl"+obj]:MovieClipLoader = new MovieClipLoader();
this["my_mcl"+obj].loadClip("http://paularojas.com/images/"+colores[imagen],clip.container_mc+obj);
my_mc.onEnterFrame = function():Void {
this["my_mc.container_mc"+obj]._width=30;
eval("my_mc.container_mc"+obj)._x=35*obj;
eval("my_mc.container_mc"+obj)._y=3;
}
imagen= obj+2;
}
------------------------------------
Pero entonces en primer lugar cargan dos imagenes, una seguida de la otra y sobrepuestas. No cada una por separado como si sucede si el código del fotograma90 lo dejo así:
this.createEmptyMovieClip("my_mc", 0);
my_mc.createEmptyMovieClip("container_mc",1);
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("http://localhost/MMG_Kipat/images/image1.jpg",my_mc.container_mc);
//////////////////////////// FIRST OPTION ///////////////////////////
my_mc.onEnterFrame = function():Void {
my_mc.container_mc._width=30;
my_mc.container_mc._x=35;
my_mc.container_mc._y=3;
}
my_mc.onPress = function():Void {
_root.pattern = "PAT1";
/*
var colorful = new Color("_level0.kippa.fondo_kippa");
colorful.setRGB(0xFAE72F);
if (_root.ocultar_pattern._visible == true) {
_root.ocultar_pattern._visible = false;
}
*/
var kippa0:MovieClipLoader = new MovieClipLoader();
kippa0.loadClip("http://localhost/MMG_Kipat/images/image4.jpg",_level0.kippa.fondo_kippa);
if (_root.ocultar_pattern._visible == true) {
_root.ocultar_pattern._visible = false;
}
};
///////////////////////// SECOND OPTION /////////////////////////
this.createEmptyMovieClip("my_mc2", 20);
my_mc2.createEmptyMovieClip("container_mc2",30);
var my_mcl2:MovieClipLoader = new MovieClipLoader();
my_mcl2.loadClip("http://localhost/MMG_Kipat/images/image3.jpg",my_mc2.container_mc2);
my_mc2.onEnterFrame = function():Void {
my_mc2.container_mc2._width=30;
my_mc2.container_mc2._x=70;
my_mc2.container_mc2._y=3;
}
my_mc2.onPress = function():Void {
var kippal:MovieClipLoader = new MovieClipLoader();
kippal.loadClip("http://localhost/MMG_Kipat/images/image3.jpg",_level0.kippa.costura_kippa);
if (_root.ocultar_pattern1._visible == true) {
_root.ocultar_pattern1._visible = false;
}
};
---------------------
Y por otro lado, tengo que esperar un tiempo para que se cargue completamente el arreglo del fotograma 1, por eso la solución horrorosa de poner el resto del código hasta el fotograma90.
Necesito solucionar ese par de cositas. Alguien tiene alguna sugerencia?
Muchas gracias.
Valora esta pregunta


0