Les escribo para pedir ayuda sobre un tema que no sé cómo resolver... les explico.
Tengo un archivo preparado para ayudar a un niño autista a interiorizar el concepto arriba/abajo. Ya tengo la programación hecha y funciona, pero quiero mejorarlo y ahí es dónde me encuentro con un problema.
Creo una función [crearPartida()]. Dentro de esta función está la programación de una "botonera" donde se muestran una serie de clips. Para adelantar trabajo, la botonera la he vinculado desde la biblioteca pero los clips que hay dentro de la botonera también están colocados e instanciados dentro de la botonera. Como veréis más adelante, para presionar sobre un clip tengo que llamarla con sintaxis de puntos (botonera.mini1.onPress {}).
A continuación creo una función aleatoria que dé como resultado 1 ó 2. Si da uno le pido que deje el objeto arriba, si no se realiza la operación contraria.
Para agilizar el trabajo, he desarrollado la programación de manera general para poder usarla con todos los clips de la botonera cambiando sólo la "var n:Number = X" que hay dentro de cada "botonera.mini". Si trabajo con "botonera.mini1" la variable es 1, si trabajo con "botonera.mini2" la variable es 2... y así sucesivamente.
Lo que pasa es que de esta manera las líneas de programación se harán muy largas, puesto que tengo que importar muchos clips desde la botonera y tengo que usar todas la programación para todos los clips.
¿Cómo puedo hacer que estas líneas de programación fucnionen para todos los clips a partir de una variable? Lo he intentado con un for(n=0; n<=5, n++){} que tiene como límite el total de clips para que los instancie todos, pero no puedo. No puedo, por ejemplo, adjudicar una variable a las instancias de botonera. Por ejemplo, la expresion this["botonera.mini"+n].onPress no funciona.
Espero no haberme hecho pesado. Ojalá me puedan ayudar porque no sé cómo salir del atolladero... ¡MUCHAS GRACIAS POR SU ATENCIÓN!
Atentamente
--
Digid
Código ActionScript :
botonera.mini1.onPress = function() { attachMovie("clip"+n,"clip"+n,10000); _root["clip"+n]._x = esquerraX; _root["clip"+n]._y = posY; //onPress===================================================================================== _root["clip"+n].onPress = function() { //asignación de variable a la función var n:Number = 1; var n_aleatorio:Number = randRang(1, 2); function randRang(min:Number, max:Number):Number { var n_aleatorio:Number = Math.floor(Math.random()*(max-min+1))+min; return n_aleatorio; trace(n_aleatorio); } if (n_aleatorio == 1) { audio_arriba.start(); } if (n_aleatori == 2) { audio_abajo.start(); } startDrag(this) //onRelease================================================================================== _root["clip"+n].onRelease = function() { //1r condicional=============================================================================== if (n_aleatorio == 1) { //resultado de la acción correcta }; } else { //resultado de la acción incorrecta } } //2ºcondicional======================================================================== if (n_aleatori == 2) { //resultado de la acción correcta } else { //resultado de la acción incorrecta } } stopDrag(); }; }; }; } }