No consigo duplicar objeto en Flash Pro

Hola a todos!!

Llevo unos dias toqueteando un .fla y no consigo duplicar un objeto a partir de otro que a su vez contiene muchos mas objetos.
He conseguido crearme este objeto "principal" duplicando cada objeto que contenía a su vez y dandoles nombres de instancias diferentes al original, para que pueda modificarlo sin que repercuta al original.
El caso es que he ido cambiando las llamadas a este nuevo objeto, que es una ventanita popup, y cuando pincho solo mne aparece la barra superior, pero no el contenido.

La llamada se hace asi:
on (rollOver) {
    gotoAndPlay("s1");
}
on (releaseOutside, rollOut) {
    gotoAndPlay("s2");
}
on (release) {
   _root.scroller99.swapDepths(2998);
   _root.popup_pressed=1;
   _root.scrHEIGHT=240
   _root.scroller99.scroller99.gotoAndStop(2);

   _root.TM_title = "EVENTOS CON ENTUSIASMO";
   _root.READ = 3;
   _root.scroller99.gotoAndPlay("s1");
}

y el objeto que contiene todo el popup se instancia como "scroller99"

Sé que lo que pido es dificil, pero me bastaria con algun comentario de por donde puedo tirar ya que me encuentro estancado y no se me ocurre nada mas que probar.

Podria intentar duplicar de nuevo el popup pero, ¿hay forma de hacerlo "en cascada"? es decir, que si duplico el objeto "padre" me duplique los hijos y estos no dependan del objeto origen (cambiandolos no repercute en el objeto origen)??
Es que me parece que la lio mucho teniendo que duplicar uno a uno cada objeto que contiene el popup

Bueno, siento el rollaco que he metido ¬_¬
GRacias por leer!
Buenas, he querido intentar ayudarte pero me temo que no termino de entender lo que quieres hacer. [looco] . ¿Tienes un objeto que tiene sus acciones pero si lo duplicas, sus estancias ya no funcionan...o algo así? [+risas] Podrías explicarlo otra vez y/o subir el archivo fla?
Claro, te explico mejor ( o lo intento)
Yo tengo el objeto tm_scroller que esta instanciado como "scroller" y internamente ese objeto tiene muchas mas capas (objetos) y acciones asociadas cada uno para conformar un popup que es una ventana con sus textos, fotos, scroll, minimizar, cerrar...

Pues ese objeto lo quiero duplicar para poder tener otro popup igual pero con otro texto y otras imagenes.
Si lo duplico y le pongo otro nombre de instancia, por ejemplo "scroller99", al cambiar los textos tambien me cambian en la instancia "scroller" (que es de donde he duplicado).
Para solventar eso he ido duplicando e instanciando cada capa u objeto y he conseguido que al cambiar el texto del suplicado no me cambie tambien en el objeto desde donde he copiado el popup.

El problema que tengo es que al hacer la llamada al popup nuevo, con el codigo que he pegado en mi anterior post, no se me muestra la ventana, solo me aparece la barra superior de la ventana con el titulo correcto, el minimizar y el cerrar. Y en ningun caso consigo mostrar el contenido.
De aqui la pregunta, ¿que puedo estar haciendo mal? ¿que puedo comprobar mas???
Como la pregunta tiene tela, he puesto mi forma de duplicar objetos (digamos complejos), por si lo estoy haciendo mal o hay otra forma mas sencilla de hacerlo, ya que me parece un poco laborioso tener que duplicar cada objeto del popup. Lo suyo seria duplicar el objeto "raiz" que contiene todo, instanciarlo y ya tener 2 popups independientes entre si, pero si hago eso al cambiaar un texto me lo cambia en las dos popups

Espero haberlo dejado claro para que me puedas echar un cable.
Gracias!
Si las instancias tienen su nombre, y ese nombre lo usas en las rutas dentro del código, te ata mucho a que tengas que, o crear un código mas "general" para las acciones o tener que duplicar el clip original para tener un original por instancia cada uno con su código.

- Si el código no tiene mucho follón (que imagino que si), replantea el código, no pongas ningún nombre a la(s) estancia(s) y que el funcionamiento o las acciones, funcionen sin necesidad de rutas absolutas. Poniendo el código en el propio clip y usando el comando this.play() en vez de _root.scroller.play() por ejemplo.
Sin ver el fla estoy hablando muy en general, pero me refiero al concepto de no usar rutas absolutas.

- Otra opción mas sencilla, es la de, duplicar el clip original en la biblioteca (tm_scroller) a tm_scroller2 por ejemplo, y hacer esto con cada clip que te interese tener en la página. Cada uno con su código y rutas correctas claro.

Si buscas tener muchas instancias, ¿todas contendrán el mismo contenido (textos y tal)?
- Puedes optar por ponerle un nombre de enlace y crear las instancias con attachmovie y un for() para las acciones. Aunque si tienes código en el interior del clip, también deberías de amoldarlo a los diferentes nombres de la instancia del clip raíz que toque.


Espero no haberte liado mas de lo que ya puedas estar... Por cierto, ¿controlas mucho de AS2? A lo mejor no he dicho mas que obviedades [sonrisa]
Yo creo que el error esta ahí, en esto que dices de las rutas absolutas. En algun clip (bonita palabra, yo a todo lo estaba llamando objeto) que contiene el popup debe de haber alguna referencia a una instancia mal, porque cuando pincho sobre el boton que contiene el codigo AS que puse no hace nada. Si pincho otro boton para que salga el popup original y sin cerrarlo pincho en mi nuevo boton, solo permanece la barra superior de la ventana, eso sí, con el título que he puesto en el trozo de codigo de AS.

Como quiero popups con distinto contenido no puedo hace rlo ultimo que dices. La segunda opcion e sla que he tomado sin exito, duplicar cada clip que quieor tener en mi popup pero con distinto contenido.
Y sobre cambiar el codigo AS, pues si que es un engorro tocho. No sé nada de AS, programo en C, algo de java... pero me da pereza indagar mas en AS para lo poco que lo uso [mad]

Te voy a pasar un fla con dos popups y si quieres le echas un ojo. Es el segundo enlace el que no va.
Mil gracias
http://www.megaupload.com/?d=8YNT0D8F
Lo descargo y le echo un vistazo. Si los pop-up van a tener contenidos diferentes, tocará duplicar el clip original para cada uno, o hacer que el contenido sea importado (texto importado) dependiendo del nombre de la instancia...o bueno...replantear los clips y el código teniendo en cuenta todo. Siempre hay variantes.

Luego lo miro y te comento.
Madre mia, hay código por todos lados! XD
Ya me abre el segundo popup correctamente. Veras que en la animación la ventana hace un movimiento, eso lo puedes corregir en la linea de tiempo del interior.

El problema estaba en la ruta, el segundo(el de la izquierda) se llamaba "scroller99", y en el código donde se le llama (se le dice que haga un play), lo llama "scrollercopia".

Te subo el fla:
http://www.megaupload.com/?d=A711WRZ1

Pero si quieres cambiarlo a mano, haz lo siguiente:

1.-Copia el nombre del popup2, (yo le he llamado scroller2, pero llamemosle scroller99 como lo tienes puesto.)
2.-En el clip central (clip instancia=page3)-> en el Layer4 (clip instancia=juegos copy) sin nombre -> en el Layer1(clip instancia=hit_area_1) sin nombre, SIN ENTRAR, seleccionalo y pulsa F9
3.-En el código, tienes:
on (rollOver) {
    gotoAndPlay("s1");
}
on (releaseOutside, rollOut) {
    gotoAndPlay("s2");
}
on (release) {
   _root.scrollerCopia.swapDepths(2998); <<<<<<<<<<<<<<<<<<<< Aquí
   _root.popup_pressed=1;
   _root.scrHEIGHT=240
   _root.scrollerCopia.scrollerCopia.gotoAndStop(2);   <<<<<<<<<<<<<<<<<<<<<<<< Aquí

   _root.TM_title = "EVENTOS CON ENTUSIASMO";
   _root.READ = 3;
   _root.scrollerCopia.gotoAndPlay("s1"); <<<<<<<<<<<<<<<<<<<<<<<< Aquí
}


Donde la ruta _root.scrollerCopia.* tiene que ser _root.scroller99.*

NOTA: En la linea _root.scrollerCopia.scrollerCopia.gotoAndStop(2); el segundo scrollerCopia no se a que clip hace referencia. En el clip "original", busca un clip scroller dentro del scroller principal y yo ahí no veo ningún clip con ese nombre. Yo le he puesto _root.scroller2.scroller.gotoAndStop(2) (por ponerle uno, dado que el copia no existe en el mio y el 2 solo es el clip principal, he dejado ese.

Cualquier otra cosa, avísame. Tengo que decir que hay "mucho follón" y de nuevas cuesta ver el conjunto completo, hay código que no llama a nada o que no vale para nada. Ahí mismo, envía un texto "EVENTOS CON ENTUSIASMO" a un campo de texto dinámico en la raíz que no existe. Has código un fla de la red y lo estás modificando?

Ya me contarás! [beer]
Te agradezco todo el tiempo que te has debido tomar para "coger con hilos" la cacho caca de flash que te he dejado, porque como bien dices esta muy sucio!!
Cogí una plantilla, (pagando, ojo!) y me encontré todo eso, pero como la ignorancia es muy atrevida, pues me puse a toquetear sin realmente saber lo bien o mal que estaba el codigo original.
Si te digo la verdad, de codigo no he tocado nada, mas que algun nombre de llamada a una instancia, asique lo que ves es por lo que he pagado [flipa]

El caso es que ahora en el curro no tengo el adobe asique lo miraré esta tarde. Lo peor es que te hice ese fla a medida, para no pasarte todo entero (... nunca se sabe con quien se va a dar ... y no queria ver una web igual que la mia ... no es nada personal [beer] ) y juraria que esas llamadas las tenia correctas en el fla completo. Como puse al principio mi clip se instancia como scroller99 y en el codigo que puse tambien lo llamo asi. Pero por lo que dices no ocurrió lo mismo con el fla que te subí al megaupload.

Lo volveré a ver hoy y te cuento, a ver si estoy equivocado y es lo que dices.

Gracias, de verdad
De nada hombre, contento si solucionas el problema!
Aquí tienes el swf si quieres verlo
http://www.megaupload.com/?d=5VLUNW8Y

Y si, te entiendo perfectamente que hayas subido un cacho del código, sobre todo si has pagado por el. Aunque no tiene mucha historia hacer un sistema de "pop-ups" como este, mucho mas ordenado y funcional en el sentido de duplicar clips para nuevos popups...pero claro, si no controlas AS está jodido.
:-?
Empiezo a desesperar y sigo agradeciendo tu esfuerzo, pero hay algo que se me escapa y no funciona.
Ya he visto tu fla, funcionando bien, incluso cuando me vuelvo a hacer en un nuevo proyecto un fondo, un boton y el popup nuevo, la cosa funciona pero cuando lo meto en mi fla no hace nada.
He requetepasado todo lo que me has dicho, y no iba mal desencaminado porque ya habia estado toqueteando lo que has dicho, pero no le sale de las pelotas hacer POP!!!
Te dejo una imagen donde viene la ruta de todos los clips (asi se llaman, no?) que forman el popup. ¿No hay una forma mejor que ir duplicando cada clip y renombrando las instancias por nombres no existentes?
Yo cojo el primer clip (TM_pop_up_main99), lo duplico, sobre este duplicado voy clickeando hasta llegar al ultimo (TM_page_content_scroll99). Ese lo duplico y cambio el nombre de instancia. Tiro el original y pego este nuevo. Subo un clip (TM_main_cont_page99), lo duplico, quito el queme ha servido para ducplicar y pego en nuevo. Asi con cada clip, para que al final tenga el clip (popup) con todos los clips internos duplicados uno a uno. ¿Es asi como debe hacerse??

Imagen <-- pincha aqui que es la imagen de los cilps que componen el popup (es que se ve muy pequeño ;-)

Si se te ocurre algo que pueda hacer :-|

Gracias
Buenas, siento no haberte contestado antes, he estado currando todo el finde y me había olvidado del tema.

Has copiado-pegado el pop-up de un proyecto a otro? Te ha preguntado algo sobre sustituir objetos en la biblioteca? Es que, si tú tienes un clip (MoviClip le llama el programa) llamado "principal", con 2 clips en su interior "secundario1" y "secundario2" respectivamente. Si copias el clip "pincipal" y lo pegas en un proyecto diferente, si este proyecto ya contiene un clip con el nombre "secundario1" (por ejemplo), te preguntará si quieres sustituirlo. Estos dos clips "secundario1" puede que no sean iguales, si en el que todo funciona bien (proyecto de prueba) has cambiado algo en el código interior del clip, en el proyecto "destino" debe de estar corregido. Pero claro, si machacas el "secundario1" antiguo por el nuevo, otras cosas pueden dejar de funcionar.

Lo de, si no hay otra forma de hacerlo, siempre hay diferentes enfoques, pero no puedo responderte con mas detalle. Por ejemplo, si los popups solo contienen texto y alguna imagen, puedes usar texto importado, usar un único clip popup y hacer por código, con variables y condiciones, que cada popup tenga su contenido. Pero es que tú tienes casi todo el trabajo hecho ya y todo el código se basa en las rutas de cada popup...


<Mier-da! Por clicar en la imagen he perdido todo lo que había escrito a partir de aquí ...¬_¬ >

Te explicaba que puedes duplicar los clips uno a uno en la biblioteca al principio, renombranlos, luego duplicando la instancia en la escena y donde pone Swap (en propiedades) seleccionar el nuevo clip. Así uno a uno desde el primero al último. Después ya puedes modificar el código tranquilamente sin miedo de modificar el otro popup.

Yo de ti, haría las modificaciones que estás haciendo en el proyecto original, porque si no controlas mucho, pasa lo que dices, que te funciona pero que cuando lo pegas en otro proyecto ya no va. Clips con nombre duplicado, rutas incorrectas...puede pasar de todo.

Paciencia! Que todo es nombre del clip, nombre de la instancia y rutas en el código.
Muchas gracias por tu tiempo!!
Al final lo que me fallaba (porque esta claro que es una chapuza) es que segun donde colocara la ventana en el escenario me aparecia el popup al pinchar o no. En el resto de ventanas da igual donde estén colocadas en el escenario (.fla), despues siempre se colocan en el mismo sitio al pulsarlas (con algun parametro del clip). Pero esta ultima chapucera (aunque creada de la misma forma que el resto) no se comporta igual. De hecho, cuando carga el flash, que sale una barra de progreso, justo cuando se completa, aparece un fortograma con la susodicha ventana, y despues desaparece. No sé el porque y eso me gustaria resolverlo, pero de momento se queda asi porque esoy bastante quemado con el tema.

Te agradezco que hayas ayudado, e incluso que vuelvas a escribir el post despues de borrado (es lo que mas jode en el mundo, jejeje)
No es nada! y de veras, si quieres te echo una mano con el flash original, se que te da "yuyu" por ser un desconocido, pero bueno, se lo que es estar en tú situación. He currado unos cuantos años con flash y se lo que es estar atascado. Lo que si, no te recomiendo que aparques el tema, porque puede que luego te cueste mucho mas solucionarlo, dado que tendrás que "re-descubrir" como funciona todo.

Ese clip cabrón, que aparece en el fotograma con la venta y luego desaparece, (si he entendido bien el problema) no le faltará o sobrará algún stop()? puedes formar la "posición del fotograma" en la escena, obligandole que esté parado en tal fotograma cuando se cargue la página. O no ¿tendrás (el origen y los interiores) el mismo nombre de instancia que otro clip duplicado?

Un saludo y suerte! XD
13 respuestas