02/06/2015, 08:26
|
| | Fecha de Ingreso: febrero-2015 Ubicación: Verona
Mensajes: 8
Antigüedad: 9 años, 9 meses Puntos: 0 | |
Respuesta: Dudas en AS2 Doy solucion a este tema que lo puse algun tiempo atras, y de pronto solucione el dia de alguien.
El ejercicio presente tiene una pregunta con 4 respuestas posibles (pero pueden ser cualquier cantidad de items), y solo una respuesta correcta, y al seleccionar debe mostrar correcto o incorrecto segun seleccione el usuario.
Para eso creo un movieclip para ser usado como boton ha ser presionado por el usuario y lo pongo sobre cada respuesta, y lo unico que cambia son los nombres de instancias, para mi caso tengo un banco de 120 preguntas y cada una con 4 posibles respuestas, entonces creo dos Arrayas, uno para las respuestas correctas (serie de la 'a' y un numero) y otro para las incorrectas (serie de la 'b' y un numero), y un solo movieclip de calificacion (dentro del movieclip tiene dos frames de correcto y otro incorrecto, con los nombres de 'bien' y 'mal')el cual va a ser adjuntado a cada boton....
stop();
//variable para calificacion
var num:Number = 0;
//variable para la calificicaion
var calif:MovieClip;
/// declaro todas las respuestas correctas e incorrectas
var bien:Array = [a1, a2, hasta n respuestas afirmativas];
var mal:Array = [b1, b2, b3, hasta n respuestas negativas];
///// funcion para respuestas correctas
function correctos()
{
for (var i = 0; i < bien.length; i++)
{
//// almaceno en bt1 cada respuesta correcta
var bt1 = bien[i];
//al presionar cada boton hago las acciones
bt1.onPress = function()
{
//// duplico el movieclip llamado calificacion cada vez que hago clic sobre un boton,
calif = calificacion.duplicateMovieClip('cal' + num, num++, this.getNextHighestDepth(num));
// como estamos en el array de los correctos, la calificacion siempre muestra correcto
calif.gotoAndPlay('bien');
/// el punto de ancla del movieclip de los botones de respuesta debe estar en la esquina superior derecha, para que se adjunte la calificacion en la parte superior (aunque no es obligatorio, puede ser donde gusten)
calif._x = this._x;
calif._y = this._y;
/// deshabilito el boton cada vez q hago clic para que no se genere duplicados de la calificacion sobre un mismo boton
this.enabled = false;
};
}
}
//// para la funcion incorrectos es la misma de correctos excepto por la calificacion
function incorrectos()
{
for (var i = 0; i < mal.length; i++)
{
var bt1 = mal[i];
bt1.onPress = function()
{
// como estamos en el array de los incorrectos, la calificacion siempre muestra incorrecto
calif = calificacion.duplicateMovieClip('cal' + num, num++, this.getNextHighestDepth(num));
calif.gotoAndPlay('mal');
calif._x = this._x;
calif._y = this._y;
this.enabled = false;
};
}
}
//// ejecuto las funciones
correctos();
incorrectos();
LISTO.
Saludos.
Última edición por cuca300; 02/06/2015 a las 08:28
Razón: correccion
|