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

Sobre el "_root"

Estas en el tema de Sobre el "_root" en el foro de Flash y Actionscript en Foros del Web. Saludos. Me gustaria que me explicaran como es que funciona el _root de flash AS2. Tengo un montón de plantillas flash, y viéndolas como funcionan ...
  #1 (permalink)  
Antiguo 25/11/2008, 10:00
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 8 meses
Puntos: 53
Pregunta Sobre el "_root"

Saludos.

Me gustaria que me explicaran como es que funciona el _root de flash AS2. Tengo un montón de plantillas flash, y viéndolas como funcionan me he topado con que casi todas tienen un mc dentro de otro mc en vez de botones, y el mc de adentro tiene un movimiento de linea de tiempo que al situar el mouse encima corre ese segmento de linea de tiempo. Si fuera que el movimiento esta en el primer mc seria fácil, pero no he podido crear el código que le diga que reproduzca la linea del mc interno. Y es que no se como lo hacen porq he chequeado los mc y ni siquiera tienen nombre de instancia, no se como los llaman.
Una ayudita porfavor
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #2 (permalink)  
Antiguo 25/11/2008, 10:21
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 5 meses
Puntos: 12
Respuesta: Sobre el "_root"

Por ejemplo creas un clip con nombre de instancia clip1 creas otro clip dentro cuyo alfa quieres bajar al 50%. Le pones nombre de instancia clip2, entonces:

_root.clip1.clip2._alpha=50;

Así tantos clips como quieras. En realidad en muy fácil.

Un saludo
__________________
Chanante!
  #3 (permalink)  
Antiguo 25/11/2008, 10:34
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 8 meses
Puntos: 53
Respuesta: Sobre el "_root"

Ok,Gracias.
bueno parece sencillo pero vamos a los detalles. El mc de adentro tiene un frame llamado "D1" que es donde comienza la acción. El mc de afuera no tiene nombre de instancia. Entonces, el código se lo pongo al mc de afuera y es algo así:
Código:
on (rollOver) {
	gotoAndPlay("_root.btn_home", D1);
}
claro que eso no funciona, no se programación, solo lo básico.
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr

Última edición por gVenom; 25/11/2008 a las 10:46
  #4 (permalink)  
Antiguo 25/11/2008, 12:56
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 5 meses
Puntos: 12
Respuesta: Sobre el "_root"

mmmm, realmente no lo tienes claro. Verás un clip de película no es idóneo (o sí) para darle un evento de botón, pero lo que tú dices no funcionaría, supón que el frame D1 es el 15 (para no liar más el tema). Tú al clip no le das nombre de instancia por lo que no puedes usar _root, ya que el root es para los nombres de instancia. Lo que deberías pones es:

on (rollOver) {
this.gotoAndPlay(15);
}

¿Por qué this? Porque al haberle puesto el código al propio clip te refieres a él mismo (this). Con esto no te haría falta usar n. de instancia. Sin embargo si quitas el this, te irá al frame 15 de la película principal.

Ahora debes pensar que pasaría si quiesieras ir al frame 15 de ese clip sin nombre de instancia pulsando sobre un botón que no forma parte de clip. No puedes acceder a el pues no tienes nada para identificarlo. Para eso le pones un nombre de instancia, para diferenciarlo de los demás.

Para que funcione lo del botón DEBES poner un nombre de instancia al clip, por ejemplo "elclip". Entonces:

on (rollOver) {
_root.elclip.gotoAndPlay(15);
}

Si pones en lugar de _root pones this afectaría al botón que pulsas y no al clip, si quitas el n. de instancia afecta a la línea principal de tiempo ya que no especificas quien debe ir al frame 15.


Espero que te haya resultado más claro el tema.
__________________
Chanante!
  #5 (permalink)  
Antiguo 25/11/2008, 13:07
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 8 meses
Puntos: 53
Respuesta: Sobre el "_root"

Ahh, Ya veo. Tomando apuntes de lo que me dices y lo que quiero hacer ya le llegue al asunto. cuando dijiste q:
Cita:
Tú al clip no le das nombre de instancia por lo que no puedes usar _root, ya que el root es para los nombres de instancia
entonces le puse nombre a los dos y me quedo así:
Código:
on (rollOver) {
	_root.homemc.btn_home.gotoAndPlay("D1");
}
on (rollOut) {
	_root.homemc.btn_home.gotoAndPlay("D2");
}
y está funcionando. Ahora solo me falta ponerlo a que me linkee una página y listo.

Gracias por tu ayuda sirguy.
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #6 (permalink)  
Antiguo 25/11/2008, 14:03
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 8 meses
Puntos: 53
Respuesta: Sobre el "_root"

Bueno, era bello para ser cierto, ahora mi animación esta funcionando a medias, si le pasas el mouse rápidamente a los botones se quedan pegados en on rollOver , y no se porque. Como detalle les digo que yo hice el efecto en un btn y luego "copie" los frames y se los puse a los otros, solo cambie posiciones y eso. La página la pueden ver aqui:
http://litaministries.com
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #7 (permalink)  
Antiguo 25/11/2008, 18:25
Avatar de buhomorado  
Fecha de Ingreso: enero-2005
Mensajes: 324
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: Sobre el "_root"

gVenom, no estoy seguro si sea esta la solucion pero a mi hace mucho tiempo me paso lo mismo que a ti.

La unica diferencia es que yo no tenia D1 y D2.


Yo tenia un MovieClip con nombre de instancia "animacion".
Este MovieClip tenia una linea de Tiempo que duraba 12 frames.

En el MovieClip habia un cuadrado que en el frame 1, estaba a 100%, en el frame 6 estaba a 115% y en el frame 12 estaba a 100% otra vez.Todo esto era una Interpolacion de Movimiento que hacia que mi cuadrado se agrandara a 115% y regresara a su tamano normal.

Puse un stop(); en el frame 1. otro stop(); en el frame 6.

y entonces hize un boton en la linea de tiempo principal que llevaba el sig codigo:

on(rollOver){ animacion.gotoAndPlay(2);
}

on(rollOut){
animacion.gotoAndPlay(6);
}

Y Esperaba que cuando pasara el mouse sobre... El cuadrado se agrandara, y cuando fuera hacia afuera, volviera a su estado normal... Pero a veces el cuadrado se quedaba pegado(SE QUEDABA EN 115%), y le di mil vueltas al asunto... hasta que cai, que el error.. era simple.

TENIA UN stop(); en el frame 6.

lo solucione, poniendo:

on(rollOut){
animacion.gotoAndPlay(7);
}

Y LISTO.

Y esperaba que lograra el efecto de la
  #8 (permalink)  
Antiguo 26/11/2008, 01:53
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 5 meses
Puntos: 12
Respuesta: Sobre el "_root"

Verás parece que falla el rollout, en todo caso te envío un ejemplo de cómo lo haría yo. Por lo pronto pongo los fps a 25 (en el ejemplo está a 12 cambia y verás que gana fluidez):

http://senduit.com/defbca
__________________
Chanante!
  #9 (permalink)  
Antiguo 26/11/2008, 08:00
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 8 meses
Puntos: 53
Respuesta: Sobre el "_root"

Bueno, con lo que dice buhomorado, pues si se necesita el stop en el 6, de hecho yo lo tengo igual a tu ejemplo, solo que yo le puse de nombre al frame 2 D1, y al frame 7 D2, si no le pongo el stop la animación pasa directo y la corre toda.

A lo que me dijo sirguy, yo hice lo mismo, pero aun asi se pegan si les pasas el mouse rápido a todos.

En Cristalab me pasaron este tutorial, y creo que es la mejor opción por ahora. Pero bueno algo se aprendió de esto. NO SE PUEDE jaja

Gracias amigos.
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
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 13:31.