post #1 (permalink) Antiguo 08-dic-2008, 15:24
Predeterminado path relativo a instancias de clase
hola, tengo un codigo que he estado elaborando hoy, a partir del cual un MC cuadrado se duplica a si mismo en las cuatro direcciones posibles, de modo que cada instancia haga lo mismo y asi todo el escenario se vaya llenando de cuadrados. estoy haciendo esto con una clase, que hace que cada MC al crearse compruebe si existen o no, los MCs aledaños, de modo que si no existen sean creados.

Código:
class Cuadrado extends MovieClip {
	//DECLARO TODAS LAS VARIABLES COMO PUBLICAS
	//...

	//CONSTRUCTOR
	function Cuadrado() {
		//SI ES EL PRIMER CLIP
		if (this._name == "x0y0") {
			//LO UBICAMOS EN UN LUGAR PREDEFINIDO
			this._x = 100;
			this._y = 100;
			//SUS VARIABLES nx Y ny SON CERO
			this.NX = 0;
			this.NY = 0;
		}
		//AHORA ESTO PARA TODOS LOS CLIPS QUE SE CREEN 
		//ESTAS VARIABLES SIRVEN PARA REFERENCIAR LOS CLIPS ALEDAÑOS
		this.arriba = this.NY+1;
		//AL CREARSE SE SETEA LA VARIABLE AVAIBLE PARA QUE OTROS PUEDAN COMPROBAR SI EXISTE
		this.avaible = true;
	}
	public function comprobar():Void {
		//DEFINIMOS EL NOMBRE DEL CLIP QUE DEBERIA ESTAR ARRIBA (EN EL CASO DEL PRIMER CLIP, EL DE ARRIBA SERIA x0y1
		this.destino = "x"+NX+"y"+arriba;
		//SI NO EXISTE LA VARIABLE AVAIBLE EN EL CLIP DESTINO, ES PORQUE EL CLIP DESTINO NO EXISTE
		if (_root[destino].avaible == undefined) {
			//ENTONCES LO CREAMOS
			attachMovie("cuadrado",destino,_level0.getNextHighestDepth,{_y:-100, NX:this.NX, NY:arriba});
		}
	}
	private function onEnterFrame() {
		//HACEMOS LA COMPROBACION TODO EL TIEMPO
		comprobar();
	}
}
ahora esto en teoria funciona bien, ya que se crean infinitamente clips 100 pixeles arriba del anterior, haciendo una cadena. el problema es cuando quiero empezar a hacer las funciones para abajo y para los costados:

lo primero que hago es crear un valor para el nombre que tendria el clip inferior
Código:
	//AHORA ESTO PARA TODOS LOS CLIPS QUE SE CREEN 
		//ESTAS VARIABLES SIRVEN PARA REFERENCIAR LOS CLIPS ALEDAÑOS
		this.arriba = this.NY+1;
		this.abajo = this.NY-1;
luego copio la funcion para comprobar el clip de arriba pero le cambio los datos para el clip inferior
Código:
//ESTA FUNCION ES IGUAL, PERO PARA COMPROBAR LA EXISTENCIA DEL CLIP INFERIOR
		this.destino = "x"+NX+"y"+abajo;
		if (_root[destino].avaible == undefined) {
			attachMovie("cuadrado",destino,_level0.getNextHighestDepth,{_y:+100, NX:this.NX, NY:abajo});
		}
aqui empiezan los problemas, porque ya no se crean clips ni para arriba ni para abajo, sino que se crean todos en la misma posicion: por debajo del original y todos encimados infinitamente
estoy casi segurisimo de que el problema es el pathing en el IF, ya que he hecho un trace:
Código:
//ESTA FUNCION ES IGUAL PARA EL CLIP DE ABAJO
		this.destino = "x"+NX+"y"+abajo;
		if (_root[destino].avaible == undefined) {
			trace(_root[destino].avaible);
			attachMovie("cuadrador",destino,_level0.getNextHighestDepth,{_y:+100, NX:this.NX, NY:abajo});
		}
y siempre me tira undefined, es decir que se estan haciendo mal las comprobaciones de si existen o no clips arriba y abajo

la pregunta es, estoy en lo correcto con respecto a mi error?
si fuera asi, me pueden recomendar algun buen tutorial de pathing (rutas) en flash?
Usuario Avanzado
Fecha de Ingreso: jul-02
Edad: 23
Mensajes: 2,568
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
Enviar un mensaje por MSN a elocofede
elocofede está desconectado
Responder Citando
Respuesta

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Funciones relativas al path elocofede Webmasters 0 26-sep-2008 18:37
The Matrix Path of Neo Tavito Gamers 7 19-dic-2006 23:00
Path de instalacion alien74 Microsoft Windows 1 18-may-2006 00:00
Modulo de clase (cls), VB 6.0 RicardoMig Programación 2 13-mar-2005 23:00
App.Path o no? pablillo Programación 2 01-oct-2004 00:00


La franja horaria es GMT -3. Ahora son las 05:29.