Prueba personal de la comunidad fuente
En realidad, hay demasiados nombres de enlaces aquí, por lo que es inconveniente colocarlos aquí. De hecho, puedes usar mi método a continuación, pero como el objeto de enlace debe ser MC.
¿Importado? flash . mostrar objeto;
¿Importar? flash . sprite;
¿Importar? flash . utils . getdefinitionbyname;
¿Importar? flash . mostrar clip de película;
¿Importado? eventos flash. evento del mouse;
var? classArr: matriz? =?[];//Matriz de todos los nombres de clases (matriz de cadenas)
var? yo:int? =?0;? //Contador de bucles
var? MC actual:clip de película //MC mostrado actualmente
var? índice de clase actual:int? =?0;El índice del nombre del enlace del MC que se muestra actualmente en classArr.
Para (i?=?1?i?<?5?i?++)//Solo hice cinco pruebas de MC. Se puede cambiar a 100.
{
var? classStr: ¿Cadena? =?I . tostring();
mientras(classStr.length?<?3)
{
classStr? =?"0"?+?classStr
}
classArr.push("MC "?+?class str);
}
//Coloque todos los nombres de los enlaces en una matriz.
BTN . addevent listener(evento del mouse. ¿Clic,? controlador de clic);
//Establezca btn como el botón en el que se debe hacer clic.
¿Función? Controlador de clic (evt:MouseEvent):void
{
if(currentMc?& amp& amp?CurrentMc.stage)//Si Mc ya existe, elimínelo.
{
eliminar hijo(MC actual);
}
var? nuevo índice:int;
¿Hacer
{
nuevoIndex? =?int(Math.random()?*?class arr . length);
}
while(newIndex?==?currentClassIndex);//Encontrar el siguiente AS diferente enlace.
var? Referencia de clase: ¿Clase? =?getDefinitionByName(clase arr[nuevo índice].toString())? ¿Como? Clase; // ¡Obtén la clase correspondiente al nombre del enlace! ! ! Ésta es la clave.
var? Ejemplo: ¿Objeto? =?Nuevo? referencia de clase();
currentMc? =?MovieClip(instancia); //Reinicializar MC
addChild(MC actual);
currentClassIndex? =?newIndex//Agregar a la lista de visualización y actualizar el índice.
}