Foros del Web » Creando para Internet » Flash y Actionscript »

Función "attachMovie"...

Estas en el tema de Función "attachMovie"... en el foro de Flash y Actionscript en Foros del Web. Saludos!... Pues eso, que gracias a la Web de Sargento y su ayuda he podido sacar a delante un menu con rotación... Se trata de ...
  #1 (permalink)  
Antiguo 17/05/2006, 17:22
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Función "attachMovie"...

Saludos!...

Pues eso, que gracias a la Web de Sargento y su ayuda he podido sacar a delante un menu con rotación... Se trata de unas esferas que contienen sus propias animaciones pero que rotan en la animación. Esto es conseguido con la función "attachMovie".

Funciona de maravilla, salvo que si se trata de un .swf que se carga en otra película principal a través de "Loadmovie" no funciona... Si la incluyo en mi película principal como parte de ella en un frame determinado funciona, salvo que si salto a otro frame esta se sigue viendo y si vuelvo al mismo frame que contiene el menu las bolas se duplican.

El code que tengo en el frame es el siguiente:

cant = 2;
incr = (2*Math.PI)/cant;
for (i=0; i<cant; i++) {
_root.attachMovie("mc_ball"+i, "mc_ball"+(i+1), 100+i);
referencia = this["mc_ball"+(i+1)];
referencia.angulo = incr*i;
}
vel = .04;
onEnterFrame = function () {
vel = ((_xmouse-236)/236)*.04;
};

De qué manera puedo hacer, que bien, me aparezca si es un .swf que se carga en la principal usando Loadmovie o dentro de la película principal pero sin que se duplique o aparezca en otros frame?...

He leído algo de borrar el MC pero no estoy muy seguro de su uso...

Gracias por vuestra ayuda.

Saludos!...
__________________
Andrew :P
  #2 (permalink)  
Antiguo 17/05/2006, 22:09
 
Fecha de Ingreso: marzo-2006
Ubicación: Medellín
Mensajes: 93
Antigüedad: 18 años
Puntos: 0
Bueno, lo que sucede cuando cargas un SWF externo dentro de una peli principal es que las rutas tienden a cambiar un poco, veamos:
Si tienes dos SWF llamados SWF1 y SWF2 cada uno de ellos tendrá su linea de tiempo principal o _root, luego si dentro del SWF1 cargas el SWF2 las rutas cambian, pues pasa que SWF1 por ser la principal sigue conservando su _root, pero por el contrario el _root del SWF2 no sería su propio _root sino que su _root ya sería el del SWF1:

_root
--- SWF1
-------SWF2

Espero me puedas entender.

Con respecto a tu pregunta y basado en lo que te acabo de decir, si cargas tu menu en la peli tendrías que cambiar esta linea _root.attachMovie("mc_ball"+i, "mc_ball"+(i+1), 100+i); por esta otra this.attachMovie("mc_ball"+i, "mc_ball"+(i+1), 100+i);

Espero haberte sido de ayuda, chao.
__________________
"Conocimiento adquirido y no compartido se perderá para siempre" :cool:
  #3 (permalink)  
Antiguo 30/05/2006, 16:50
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Arleyb... Gracias por tu ayuda... El cambio de _root por this permite ver el .swf dentro de la principal. No obstante; tal y como te dije esto pertenece a una animación en la cuál las mc's rotan en forma de menu. El problema es que al cargarlas no se mueven los MC's. Acaso debo cambiar algo del código de las Mc's también.???

Aquí el código:

Cita:
eje_x = 237;
eje_y = 108.6;
amp_x = 150;
amp_y = 40;
onEnterFrame = function () {
this._x = (Math.cos(angulo)*amp_x)+eje_x;
this._y = (Math.sin(angulo)*amp_y)+eje_y;
this._yscale = this._xscale=(this._y-100)*.7+100;
if ((angulo+_root.vel)>(2*Math.PI)) {
angulo += _root.vel-(2*Math.PI);
} else if ((angulo+_root.vel)<0) {
angulo += _root.vel+(2*Math.PI);
} else {
angulo += _root.vel;
}
grado = int((angulo/Math.PI)*180);
if (grado>=0 && grado<=90) {
this.swapDepths(4000+grado);
}
if (grado>90 && grado<=180) {
this.swapDepths(3000-grado);
}
if (grado>180 && grado<=270) {
this.swapDepths(2000-grado);
}
if (grado>270) {
this.swapDepths(1000+grado);
}
};
Este código está en una MC's que se encuentra en el .swf que se cargará en la pelicula principal.

Saludos y gracias por tu ayuda!...
__________________
Andrew :P
  #4 (permalink)  
Antiguo 30/05/2006, 17:18
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Hola andrewp:
Pues tienes el mismo problemas ya que en esos códigos tienes _root.vel, que ya no pertenece al _root, debería ser _parente.
Haz el cambio y cuéntanos.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 30/05/2006, 19:30
 
Fecha de Ingreso: marzo-2006
Ubicación: Medellín
Mensajes: 93
Antigüedad: 18 años
Puntos: 0
Lo que dice Bandit es verdad, continúas haciendo referencia al _root y no al _parent como te había dicho, realiza el cambio apropiado y nos cuentas como te va!!
__________________
"Conocimiento adquirido y no compartido se perderá para siempre" :cool:
  #6 (permalink)  
Antiguo 31/05/2006, 03:19
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
De acuerdo Cool!....

Bandit y Arleyb...

Muchas gracias por vuestra ayuda.... Incluso he cambiado, basándome en vuestros comentarios, unos vínculos de botones hacia la pelicula principal.

Saludos y gracias x 1000!....

__________________
Andrew :P
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:39.