
Etiquetas: startDrag swapDepths hitTest
//////////////////////////////////////////////////////////////////////////////////////VARIABLES//Esta variable almacena el resultado del juego.var correcto:Boolean = false;
//Almacena todos los clips de arrastrevar clips:Array = [Arrastre1_mc,Arrastre2_mc,Arrastre3_mc,Arrastre4_mc];
//Almacena los nombres de los clips de destino para los clips de arrastrevar destinos:Array = [Destino1_mc,Destino2_mc,Destino3_mc,Destino4_mc];
//////////////////////////////////////////////////////////////////////////////////////FUNCIONES//Función que se ejecuta al inicio y programa la escenafunction Empezar(){
GuardarDatos();
ProgramarArrastres();
Corregir();
}//Almacena los datos iniciales de los clips de arrastre como variables dentro de cada clip.//Estos datos se utilizan despues para ver si se ha dejado sobre el destino, o para colocarlos de nuevo //en su posición inicialfunction GuardarDatos(){
for (var i = 0;i < clips.length; i++){
clips[i].xIni = clips[i]._x;
clips[i].yIni = clips[i]._y;
clips[i].destino = destinos[i];
clips[i].prof = clips[i].getDepth();
}}//Programa los clips de arrastre, añadiendo a cada uno los eventos onPress y onReleasefunction ProgramarArrastres(){
for(var i = 0; i < clips.length; i++){
var clip = clips[i];
clip.onPress = function(){
startDrag(this,false);
this.swapDepths(getNextHighestDepth());
}clip.onRelease = function(){
Soltar(this);
this.swapDepths(this.prof);
} }}//Esta función se ejecuta cuando se reproduce el evento onPress de alguno de los clips de//arrastre. Comprueba si el clip de arrastre está sobre su clip de destino, y si es así, lo //coloca en la misma posición que este. Si no, lo devuelve a la posición inicial que se ha //almacenado al principio. function Soltar(clip){
clip.stopDrag();
if(clip.hitTest(clip.destino)){
clip._x = clip.destino._x;
clip._y = clip.destino._y;
}else{
clip._x = clip.xIni;
clip._y = clip.yIni;
}Corregir();
}//Corrige el juego. Recorre todos los clips de arrastre y ve si están colocados //o no. Modifica los valores de los campos de texto Resuelto_txt y Aciertos_txt//para mostrar los datos del juego. function Corregir(){
var aciertos = 0;
for(var i = 0; i < clips.length; i++){
if(clips[i].hitTest(destinos[i])){
aciertos++;
} }correcto = (aciertos == clips.length)?true:false;
Resuelto_txt.text = correcto; Aciertos_txt.text = aciertos;}//EmpezamosEmpezar();
stop();