Comunidad de diseño web y desarrollo en internet online

Duplicando MovieClips Dinamicamente

Citar            
MensajeEscrito el 21 Nov 2011 05:27 am
Hola como andan....
Bueno estoy optimizando una galeria con el fin de hacerla mas facil de manejar y avanzar en mi manejo de codigo, pero estoy teniendo problemas con el eval() al duplicar el Mc y los valores, creo que no me esta leyendo la accion del desplazamiento del Mc, de acuerdo con los valores que le estoy dando con Var_ValorX, en fin pego el codigo para me puedan ayudar con facilidad sabiendo lo que esttoy haciendo gracias.......



stop();

var Imagenes_Numero:LoadVars = new LoadVars();
var Imagenes_Numero_Recibe:LoadVars = new LoadVars();
Imagenes_Numero.sendAndLoad("Conta_Ima.php",Imagenes_Numero_Recibe,"POST");
Imagenes_Numero_Recibe.onLoad = function() {

//_global.Conta_Ima = Total_Imagenes;

for (i=0; i<Conta_Ima; i++) {
duplicateMovieClip(Clip_Contenedor.Clip_Imagen, "Clip_Contenedor.Clip_Imagen"+i, Clip_Contenedor.getNextHighestDepth());
Var_ValorX = Stage.width*i;
eval("Clip_Contenedor.Clip_Imagen"+i)._x = Var_ValorX;
trace(Var_ValorX);
//Carga_Ima(i);
}
};


function Carga_Ima(i) {
var Movie_Ima:MovieClipLoader = new MovieClipLoader();
var Ima_Loader:Object = new Object();
Movie_Ima.loadClip("Imagenes/Judo"+i+".jpg",eval("Clip_Contenedor.Clip_Imagen"+i));
trace("Imagenes/Judo"+i+".jpg");
Ima_Loader.onLoadInit = function() {
eval("Clip_Contenedor.Clip_Imagen"+i).forceSmoothing = true;
};
Movie_Ima.addListener(Ima_Loader);
}

Por CamiloTab

2 de clabLevel



Genero:Masculino  

Comunicador Grafico Publicitario

chrome
Citar            
MensajeEscrito el 21 Nov 2011 03:00 pm
Usa notación de array en vez de eval, no uses un punto en el nombre del clip, sino buscará esa ruta

this["Clip_Contenedor_Clip_Imagen"+i]._x

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Nov 2011 06:44 pm
Hola jorge, gracias por la respuesta, he estado haciendo varios intentos con array pero no me funcionan, probablemente es por que soy un poco novato en programación, me podrias explicar un poco mejor como hago funcionar el codigo con un array?

S2

Camilo

Por CamiloTab

2 de clabLevel



Genero:Masculino  

Comunicador Grafico Publicitario

chrome
Citar            
MensajeEscrito el 21 Nov 2011 07:09 pm
la clave es que el nombre no debe usar punto, luego cualquier MovieClip expone su contenido como array, y se usa sobre todo para apuntar dinamicamente. Por ejemplo un MC llamado "miClip" que esta en _root se puede llamar

_root["miClip"]

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Nov 2011 05:31 pm
Hola Jorge, le puse solucion a tu consejo y logre avanzar en la duplicada de los mc y la importacion de las imagenes, me dio perfecto muchas gracias...
ahora la segunda situacion me tiene un poco atascado jj (gracias por ayudarme de verdad)...
e codigo nuevo es el siguiente:

En el root escribi:
//Contenedor_Ima es fisico
attachMovie("Mi_Clip","Mascara",this.getNextHighestDepth(),{_x:0, _y:0});
Contenedor_Ima.setMask(Mascara);

Dentro de Contenedor_Ima tengo el siguiente codigo:

//Importo variables tween action
import mx.transitions.Tween;
import mx.transitions.easing.*;

//Variables para AttachMovie
var xPos = 0;
var yPos = 0;
//Pasando variable for para duplicar los movieclips, y cargando imagenes
for (i=0; i<3; i++) {
//attach the container clip
attachMovie("Mi_Clip","Mi_Clip"+i,i,{_x:xPos, _y:yPos});
//increase the y postion each time
xPos += this["Mi_Clip"+i]._width;

Carga_Ima(i);

}
//Cargador de imagenes
function Carga_Ima() {
trace(i);
var Movie_Ima:MovieClipLoader = new MovieClipLoader();
var Ima_Loader:Object = new Object();
Movie_Ima.loadClip("Imagenes/Judo"+i+".jpg",this["Mi_Clip"+i]);

Ima_Loader.onLoadInit = function() {
//eval("Clip_Contenedor.Clip_Imagen"+i).forceSmoothing = true;
// setInterval(Mover_Imagenes,3000);
/*
NO me funciona probablemente porque cargan las tres imagenes muy rapido y se bloquea la animacion
*/
Mover_Imagenes();
/* Me funciona una vez pero no hace lo que necesito, carga en las tres imagenes la funcion pero segun lo que se el loop no me funcionara pues despues de la primer vuelta ya todas las imagenes van a estar cargadas...
*/

};

Movie_Ima.addListener(Ima_Loader);
}




function Mover_Imagenes() {
var Mov = 0;

if (Mov<3) {
Mov += 1;
trace(Mov);
var Action:Tween = new Tween(this, "_x", Regular.easeOut, 0, -(Stage.width*Mov), 2, true);
} else {
Mov = 0;
var Action_2:Tween = new Tween(this, "_x", Regular.easeOut, -1650, 0, 2, true);

}
}

Por CamiloTab

2 de clabLevel



Genero:Masculino  

Comunicador Grafico Publicitario

chrome
Citar            
MensajeEscrito el 24 Nov 2011 02:05 pm
No entiendo la pregunta. Tip: en vez de tirar código y comentarios entre medio te sugiero esto:

- Breve explicación de lo que intentas
- Código relevante (máximo 10 líneas)
- Hipótesis si las hubiera

Eso facilitará que te respondan mas rápidamente y evita tener que leer largas parrafadas de código

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Nov 2011 04:18 pm
Jorge gracias por la aclaracion, apenas estoy empezando a manejar los foros y la verdad trate de ser lo mas claro posible por eso escribi todo el codigo...
bueno tengo tres movieclips crados con attachMovie cada uno carga una imagen de acuedro a un contador, lo que quiero hacer es que pase una por una cada determinado tiempo generando un loop; al principio lo hice con un setInterval llamando a un tween en el onloadInit de cada imagen pero solo funciona una vez ya que el onloadinit solo funciona una vez al cargar la imagen...
tambien intente haciendo el movimiento por fuera del Loader de las imagenes moviendo el movieclip que tiene los tres movieclips duplicados, y funciona pero pasan todas de una, no para en cada imagen...

S2

Camilo


PD. espero haber sido mas claro y corto y gracias

Por CamiloTab

2 de clabLevel



Genero:Masculino  

Comunicador Grafico Publicitario

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.