la idea es poner todos esos scripts dentro de una clase. Y asociar a esa clase todos los MC que tengan el mismo comportamiento. Imagina que yo quiero crear un bosque, por el que te puedas mover. Podría considerar que ese bosque es un cuadrado dividido en 9 casillas (3x3) y que cada una de las casillas es un MC.
Lógicamente las casillas que representan las lindes del bosque (las de los bordes) deberían tener menos árboles que las del centro. Con lo que podría asignar la misma clase para todas las casillas de los bordes (pues todas deberían tener pocos árboles) y una clase distinta para la casilla del centro (que debería tener muchos más).
Entonces para la clase a la que le corresponden las 8 casillas de los bordes, podría decirle manualmente todos los nombres de los MC que tiene asociados, o (mi idea era) que como cada MC al cargarse iba a ejecutar todas las acciones que estuvieran escritas en la clase, decirle a la clase que fuera identificando cada uno de los MC que la ejecutaban (con lo que yo no tendría por qué saber las rutas de los MC).
De hecho el problema viene cuando vas a hacer los hitTest, donde es más difícil o al menos más tedioso tener que ir averiguando con qué MC estás haciendo el hitTest.
____________________________________________________________________________________
La solución provisional que le he dado a toda esta historia es crear dos matrices (arrays para los que no sean de aquí) la orden que ejecutaba la clase de los MC para una de las matrices es:
matriz1.push("_root." + _name (_name te dice el nombre que tiene el MC en el .fla)
y otra matriz que recibe las propiedades de los MC:
matriz.push(numerodearboles).
Aunque luego se me ocurrió iniciarme en el noble arte de las matrices multidimensionales y sustituí la variable del número de árboles por una matriz (creada en la clase de los MC) que contuviera todas las propiedades de la clase en cuestión.
¿cómo relaciono las dos matrices?
Más sencillo de lo que parece. Decíamos que con la primera matriz hacíamos los hitTest, ¿no?
bueno, pues solo tenemos que saber el valor de "i" y tan sencillo como tener una variable que coja ese valor. Veamos:
for (var i in matriz1)
{
if (_root.puntero.hitTest (matriz1[i]))
{
valordei = i;
}
}
y a continuación buscamos esa misma posición en la segunda matriz:
matriz2[valordei]. (o matriz2[valordei][n], para matrices multidimensionales y siendo n la posición del elemento que estamos buscando dentro de la matriz de las propiedades.
Dicho esto, aclarar que como bien ha dicho jorge, una expresión del tipo "_root." + _name no es exactamente una referencia a un MC, sino una cadena (string) con lo que no podemos esperar que nos diga los valores de un MC que se llame igual.
(Jorge, muchas gracias porque sin ese aporte jamás habría podido salir del paso.)
No obstante, sea como fuere, (probablemente sea un bug bueno, {¡arrodilláos ante este raro hallazgo!,
} ) sí cuela a la hora de hacer los hitTest con otro MC.
Aun así, hasta donde sé, para el resto de los aspectos se seguirá comportando como una cadena.