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

Cual es la diferencia?

Estas en el tema de Cual es la diferencia? en el foro de Flash y Actionscript en Foros del Web. Buenas, Me gustaria saber si me podrian echar un mano, hay algo que no me funciona. el codigo es el siguiente: Código HTML: _root["ventana.ventana.VENTANAcargador"].attachMovie("MCejemplo",'contenido',_root.getNextHighestDepth()); Lo ...
  #1 (permalink)  
Antiguo 30/04/2009, 02:29
 
Fecha de Ingreso: marzo-2007
Mensajes: 89
Antigüedad: 17 años, 7 meses
Puntos: 0
Cual es la diferencia?

Buenas,

Me gustaria saber si me podrian echar un mano, hay algo que no me funciona.

el codigo es el siguiente:

Código HTML:
_root["ventana.ventana.VENTANAcargador"].attachMovie("MCejemplo",'contenido',_root.getNextHighestDepth());
Lo pruebo asi y si que funciona:
Código HTML:
_root.ventana.ventana.VENTANAcargador.attachMovie("MCejemplo",'contenido',_root.getNextHighestDepth());
El problema es que como es un clip que se genera automaticamente no se cual es su nombre para hacerle referencia, por ello pienso que tengo que utilizar el _root['......'].

Espero que me puedan echar una mano,

gracias.
  #2 (permalink)  
Antiguo 30/04/2009, 06:09
 
Fecha de Ingreso: marzo-2009
Ubicación: Residencial Guanabacoa, Ciudad De La Habana, Cuba, Cuba
Mensajes: 422
Antigüedad: 15 años, 8 meses
Puntos: 10
Respuesta: Cual es la diferencia?

Propiedad _root
Especifica o devuelve una referencia a la línea de tiempo del clip de película raíz. Si un clip de película tiene varios niveles, la línea de tiempo del clip de película raíz está en el nivel que contiene el script que se está ejecutando. Por ejemplo, si un script del nivel 1 evalúa _root, se devuelve _level1.

Especificar _root equivale a utilizar la notación con barras (/) desfasada para especificar una ruta absoluta en el nivel actual.

Nota: si un clip de película que contiene _root se carga en otro clip de película, _root hace referencia a la línea de tiempo del clip de película que se carga y no a la línea de tiempo que contiene _root. Si desea asegurarse de que _root haga referencia a la línea de tiempo del clip de película cargado incluso cuando se cargue en otro clip de película, utilice MovieClip._lockroot.


tambien para referirte a un objeto puedes utilizar this.... espero que te sirva
  #3 (permalink)  
Antiguo 30/04/2009, 07:50
 
Fecha de Ingreso: marzo-2007
Mensajes: 89
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Cual es la diferencia?

Osmoel,

primero agradecerte la respuesta.

El tema de niveles y subniveles mas o menos si que lo entiendo, creo que no me explique bien.

Mi caso es el siguiente:

Estoy creando una clase que genere una ventana en flash cargando un MC dentro.

Declaro el objeto:

var ejemplo = new Ventana('NombreMC','NombreMCcontenido','Titulo barra superior');

Asi la clase me crea un nuevo MC en el escenario con MC._name = 'NombreMC', escribiendo en el campo de texto dinamico el titulo de esta ventana pasado tb como parametro.

Hasta aqui todo funciona correctamente, el problema viene ahora, a la hora de cargar en el interior de la ventana el MC que le corresponde.

Si supiera el nombre (Ej: ventana) lo haria de la forma _root.ventana.AttachMovie(...), pero como no se el nombre de esa venta dentro de la clase, tengo que tratarlo como una variable de forma _root[NombreMC].AttachMovie(...);

Ese es mi caso, y lo que esponia anteriormente es que:

_root.ventana.ventana.VENTANAcargador.attachMovie( "MCejemplo",'contenido',_root.getNextHighestDepth( ));
//FUNCIONA CORRECTAMENTE

pero:

_root["ventana.ventana.VENTANAcargador"].attachMovie("MCejemplo",'contenido',_root.getNext HighestDepth());
//NO FUNCIONA

Queria saber si hay alguna otra manera de hacerlo o como podría plantear este problema.

Pongo el código de mi clase por si sirve de algo...

Código HTML:
class Ventana {	
	var ancho:String;	
	var alto:String;
	var titulo:String;
	var PosX:Number;
	var Nombre:String;
	var CLIP:String;
	
	function Ventana(nom:String,tit:String,MC:String) {		
		this.Nombre = nom;		
		this.titulo = tit;		
		this.CLIP = MC;
		trace (this.CLIP);
	}
	
	function muestra(){
		_root.createEmptyMovieClip("ventana",_root.getNextHighestDepth());
		_root['ventana'].attachMovie('ventanaMC','ventana',_root.getNextHighestDepth());
		_root['ventana.ventana.titulo'] = this.titulo;
		_root['ventana.ventana.VENTANAcargador'].attachMovie("MCejemplo",'contenido',_root.getNextHighestDepth());
	}
	
}
Para llamar a la clase lo hago por:
Código HTML:
import Ventana;
	var ejemplo = new Ventana('VENTANA','titulo de ventana ejemplo','MCejemplo');
	ejemplo.muestra();
La ventana la muestra, pero su contenido no....
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 23:48.