Comunidad de diseño web y desarrollo en internet online

problema para duplicar MC creado en stage

Citar            
MensajeEscrito el 19 Ago 2009 07:05 pm
Buenas tardes!
Es mi primera vez escribiendo en el foro...ojala puedan ayudarme porque me estoy rompiendo la cabeza jaja

Lo que intento hacer es lo siguiente: en aspectos generales crear una galeria de imagenes pero creada desde un archivo.
Es decir tengo un archivo que tiene X variables que leo desde flash, cada variable representa un path a una imagen.
Luego en runtime creo a partir de lo que se lee del archivo las X imagencitas. Hasta ahi no tengo problemas.
Luego lo que quiero hacer es que cuando hago clic en una de las imagenes, en otro MC aparezca la que cliqueo en grande...y ahi es donde tengo el problema.

puedo saber el nombre del MC que estoy tocando pero no me deja duplicarlo, ni siquiera trabajar con el nombre como string...ya intente todo, ojala puedan ayudarme!

En esta parte del codigo creo las imagencitas sin problemas (_global.im es una lista en donde guarde las cosas que lei del archivo previamente):

Código ActionScript :

 //ESTA VERSION CARGA AUTOMATICAMENTE DESDE ARCHIVO LAS IMAGENES DEL DESPLAZADOR
//Y AGRANDA LA IMAGEN AL HACER CLIC CON EL MOUSE
//FORMATO DEL ARCHIVO TXT:
// &txt1=BLA BLA BLA&imagen1=img1.jpg&done=done
//IMPORTANTE!! NO OLVIDAR EL DONE AL FINAL DEL ARCHIVO.

for (var i:Number = 1; i<=_global.cant; i++) {
   duplicateMovieClip(this.fotito, "mc"+i, i);
   //trace(_global.im.getItemAt(i-1).label);
   loadMovie(_global.im.getItemAt(i-1).label, "mc"+i);
   setProperty("mc"+i, _x, 100*i);
   setProperty("mc"+i, _y, 0);
}


Ahora quiero que cuando apriete sobre alguna de las previamente creadas se muestre otra en otro MC mas grande con el siguiente codigo:

Código ActionScript :

on (release) {

   var link:String = new String();
   link = this; 
   var largo:Number = length(link);
   trace(largo); 
   trace(link); //aqui me muestra bien el nombre del MC...por ejemplo_level0.mc2

       // aqui intento obetener el numero de "mc" creado on stage para luego buscar la foto de la lista que ya tengo creada pero la variable num_foto siempre aparece como "undefined"
   var num_foto:String= new String();
   num_foto= link.substring(18,2);
   trace("num_foto: "+num_foto);
   
   //MODIFICAR DE DONDE SACA LA IMAGEN!!!!!!!!
   //_root.big.loadMovie(_global.im.getItemAt(2).label); // esto funciona pero la idea es que no muestre siempre la misma foto, sino la misma que fue presionada
   setProperty(_root.big, _width, 280);
   setProperty(_root.big, _height, 280);

}


Alguien conoce otra forma de hacerlo? se entiende mi problema?
muchas gracias!

Por agusddt

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Ago 2009 07:55 pm
la verdad esta medio enredado tu codigo que imagino solo copiaste y pegaste lo que yo hago es una funcion donde duplico y claro los parametros de cuantos en donde inicia el duplicado etc, por lo que vi no creas el mc contenedor de las fotos, esto es creacion de tracks dinamicamente

Código ActionScript :

numTracks = 3;
var posx = -465;
var espacioT = 30;
mcTracks._visible=false;
function crearTracks() {
   for (i=0; i<numTracks; i++) {
      duplicateMovieClip("mcTracks", "mcTrack"+i, i+3);
      this["mcTrack"+i]._x = posx; // posiciono 
      this["mcTrack"+i].txtTrack.text = i+1; le pongo algo al mc
      this["mcTrack"+i].numBtn = i; // le doy un identificador al boton
      posx += espacioT;
   }
}
crearTracks();
//
function releaseBts(btn){
trace("Boton presionado:"+btn)
}

y dentro del boton principal le pones esto

Código ActionScript :

on (release) {
   _parent.releaseBts(numBtn);
}

y con estoo sabes que mc estas dandole clic , esperoque te sea de ayuda

Saludos

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 20 Ago 2009 09:27 pm
gracias joshuavw! ...pero sigo teniendo problemas.
de hecho con tu codigo tengo el mismo problema que con el mio, siempre me devuelve:

Boton presionado: undefined

si le pongo
trace(this["mcTrack"+i].numBtn)
despues de duplicar los MCs se ve bien que toma el valor que quiero, pero cuando trato de leerlo al presionar el boton SIEMPRE me devuelve "undefined"

que puede estar mal?

Por agusddt

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 24 Ago 2009 02:58 pm
perdon que insista...alguien sabra como ayudarme??
desde ya muchas gracias!!

Por agusddt

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 24 Ago 2009 03:59 pm
buenas!
ya logre solucionarlo!!!!!!!!!! :)
Gracias igual!


lo resolvi utilizando la propiedad _name del MC y luego manipulando caracteres. no se si es el metodo mas eficiente pero me funciono.

saludos, y ya estare de vuelta...

Código ActionScript :

   var nombre:String = this._name;
   trace ("nombre: "+nombre);
   var numero:String = nombre.charAt(2)+nombre.charAt(3)+nombre.charAt(4);
   trace (numero);

Por agusddt

5 de clabLevel



 

msie8

 

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