Comunidad de diseño web y desarrollo en internet online

Obtener propiedades de un MovieClip

Citar            
MensajeEscrito el 27 Nov 2006 07:40 pm
Hola,

Tengo una duda muy grande y es que no consigo asignarle a una variable en nombre de un MovieClip.

Lo que quiero hacer exactamente es que al hacer click en un botón, éste use como parámetros en una función interna el nombre de 2 MC. Trato de unir 2 MC iguales pero en profundidades diferentes con un 3º MC. Como si tuviera 2 puntos y los quisiera unir con una linea. El caso es que precargo muchos "puntos" con loadVars y tengo una función que dado los nombres de 2 de esos puntos, me los une. Lo que quiero es que se haga de manera que el usuario pueda elegir los puntos a unir por lo que necesito detectar el nombre de los puntos.

Tal vez es más fácil si inserto un trozo de código:

Código :

//Crea un enlace nuevo entre 2 puntos
function nuevoEnlace(inicio, fin) {
   var num:Number = getNextHighestDepth();
   //Carga el enlace
   attachMovie("Enlace", "E"+num, getNextHighestDepth());
   //Carga la dirección
   attachMovie("Punta", "P"+num, getNextHighestDepth());
   //Colocamos el origen en el nodo de inicio del enlace
   _root["E"+num]._x = inicio._x;
   _root["E"+num]._y = inicio._y;
   trace("altura"+_root["E"+num]._height);
   //Calculamos la longitud y recortamos un poco para una mejor visibilidad
   _root["E"+num]._width = calculaLongitud(inicio, fin)-5;
   //Colocaremos la punta que indicará la dirección en la mitad del recorrido.
   _root["P"+num]._x = (inicio._x+fin._x)/2;
   _root["P"+num]._y = (inicio._y+fin._y)/2;
   //Aplicaremos el ángulo que forman los 2 puntos
   _root["E"+num]._rotation = calculaAngulo(inicio, fin);
   _root["P"+num]._rotation = _root["E"+num]._rotation;
   //trace("altura"+_root["E"+num]._height);
   //trace("x"+num+"="+_xmouse+"&"+"y"+num+"="+_ymouse);
}


El caso es que para usar esa función lo hago de la siguiente manera:

Código :

on(release)
{
   nuevoEnlace(N1, N2);
   nuevoEnlace(N6, N1);
}


Pero me gustaría hacer que se obtuviese de la siguiente manera:

Código :

nuevoEnlace(obtenerNombre(), obtenerNombre());


Nonde la función obtenerNombre() sea del tipo:

Código :

//Función que devolverá el nombre del clip al que se hace click
//NO FUNCIONA!!!
function obtenerNombre() {
   trace("obtenerNombre: "+nombre+".");
   nomb_txt.text = nombre;
   return nombre;
}


Pero no funciona.

Alguien me ayuda?

Un saludo,

Mannix

Por Mannix

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Nov 2006 03:28 am
Y si usás un prototipo?? Dentro de el prototipo iría esto:

Código :

this.onPress = function () {
trace (this._name);
};


Otra cosita, en una función, si usás un return, deberías definir las variables como locales. Fijate a que me refiero:

Código :

mensaje1 = function () {
nuevoMensaje = "hello";
return nuevoMensaje;
};
mensaje2 = function () {
var segundoMensaje = "world"
return segundoMensaje;
};
trace ("Unión de mensajes: " + mensaje1 () + " " + mensaje2 ());
trace ("variable nuevoMensaje, NO definida como variable local: " + nuevoMensaje);
trace ("variable definida como local por el uso de var: " + segundoMensaje);


Ves a lo que quiero llegar??

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.