Estoy tratando de hacer este ejercicio a fin de usarlo en unas actividades de español en mi escuela.
El problema viene cuando un mc sí se queda donde corresponde (el rojo) y los demás no, no sé que estoy haciendo mal :/
¿Me pueden ayudar a encontrar el error? de antemano muchas gracias.
Aquí el código:
Código ActionScript :
onFrame (1) {
// [Action in Frame 1]
function Empezar()
{
GuardarDatos();
ProgramarArrastres();
Corregir();
} // End of the function
function GuardarDatos()
{
for (var _loc1 = 0; _loc1 < clips.length; ++_loc1)
{
clips[_loc1].xIni = clips[_loc1]._x;
clips[_loc1].yIni = clips[_loc1]._y;
clips[_loc1].destino = destinos[_loc1];
clips[_loc1].prof = clips[_loc1].getDepth();
} // end of for
} // End of the function
function ProgramarArrastres()
{
for (var _loc2 = 0; _loc2 < clips.length; ++_loc2)
{
var _loc3 = clips[_loc2];
_loc3.onPress = function ()
{
startDrag (this, false);
this.swapDepths(getNextHighestDepth());
};
_loc3.onRelease = function ()
{
Soltar(this);
this.swapDepths(this.prof);
};
} // end of for
} // End of the function
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;
} // end else if
Corregir();
} // End of the function
function Corregir()
{
var _loc2 = 0;
for (var _loc1 = 0; _loc1 < clips.length; ++_loc1)
{
if (clips[_loc1].hitTest(destinos[_loc1]))
{
++_loc2;
} // end if
} // end of for
correcto = _loc2 == clips.length ? (true) : (false);
resuelto_txt.text = correcto;
aciertos_txt.text = _loc2;
} // End of the function
var correcto = false;
var clips = [a1, a2, a3];
var destinos = [d1, d2, d3];
Empezar();
stop();
}