////////////////////////////////////////////////////////////////////////////////////
//VARIABLES
//Esta variable almacena el resultado del juego.
var correcto:Boolean = false;
//Almacena todos los clips de arrastre
var clips:Array = [Arrastre1_mc,Arrastre2_mc,Arrastre3_mc,Arrastre4_mc];
//Almacena los nombres de los clips de destino para los clips de arrastre
var destinos:Array = [Destino1_mc,Destino2_mc,Destino3_mc,Destino4_mc];
////////////////////////////////////////////////////////////////////////////////////
//FUNCIONES
//Función que se ejecuta al inicio y programa la escena
function 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 inicial
function 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 onRelease
function 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;
}
//Empezamos
Empezar();
stop();
|
| Comentarios: |
| carlos dijo: |
| felicitaciones por este tutorial creame que me sirvio de mucho para una multimedia que tenia que hacer |
|
| Mario Pando dijo: |
| Impecable tu codigo, me ahorro mucho trabajo, muy agradecido |
|
| Ana dijo: |
| hola!!!
Me podrían ayudar, es que voy hacer un mini juego de vestir a personajes. Es un proyecto de la escuela. |
|
| Ronald Martinez Torres dijo: |
| La verdad me servio de mucho ya que me encuentro realizadndo un software educativo llamado LECCMAR que esta dirigido para incrementar la comprensión lectora en niñas del 2do grado de Educación primaria en Cañete Perú
Asi que muchas gracias espero que siga habiendo codigo si para poder mejorar mi software nos vemos |
|
| Jessica dijo: |
| muy buen tutorial pero creo que deberian ser un poco mas específicos... Gracias |
|
| Carlos Farias dijo: |
| Hola, esta genial el tutorial y facilicimo, lo unico que me gustaria saber, es como puedo hacer para que al soltar dentro del movieclip destino, el arrastrado quede centrado en éste, es posible?
Saludos y gracias. |
|
| erik dijo: |
| hola tu codigo y explicacion son claros y concretos tengo un proyecto con actividades para niños y me preguntaba si mepordrias asesorar o recomendar algun tutorial de action script para empezar |
|
| Enrique dijo: |
| muy buen script!!!
muy util, gracias!
estuve 2 dias intentando hacer algo asi!! |
|
| oscar dijo: |
| Y si quisiera que al colocar las piezas en su lugar salga un mensaje de felicitaciones que tendria q hacer, que parte de el codigo tendria q modificar o agregar para q salga el mensaje. |
|
| oscar dijo: |
| Y si quisiera que al colocar las piezas en su lugar salga un mensaje de felicitaciones que tendria q hacer, que parte de el codigo tendria q modificar o agregar para q salga el mensaje. |
|
| Yumi dijo: |
| Esta GENIAL, voy a ver si me sale =P |
|
| Yumi dijo: |
| Si me salió =P |
|
| Yumi dijo: |
| Hola está muy padre tu código, pero quisiera hacer que mas colores (digamos que tengo muchos tono de amarillo) entren en el en uno de los destinos, como le puedo hacer me ayudas por fis, pos fis, por fis |
|
| Yumi dijo: |
| Hola, esta genial el tutorial y facilicimo,=P lo unico que me gustaria saber, es como puedo hacer para que al soltar dentro del movieclip destino, el arrastrado quede centrado en éste, es posible? |
|
| Yumi dijo: |
| Ya Pude =P |
|
| Simn dijo: |
| Hola que tal, el tutorial me pareció muy bueno, y muy claro.
Quería preguntar, como hago para hacer que aparezca algo, (algún texto o algún movie clip) cuando se completa el juego, es decir, me gustaría hacer un if, en relación a resuelto = true, pero no se como armarlo, me podría alguien ayudar al respecto??
Desde ya muchas gracias.
Pd. Muy buena toda la información que hay aqui. |
|
| Roberto dijo: |
| Muy bueno el código,gracias por compartirlo, pues yo ando aferrado queriendo pasarlo a AS3.0, y nadamas no me queda, no puedo relacionar los objetos del array clips con los del array destinos, pero muy buena base, seguiré intentando, espero conseguirlo. |
|
| Dejar un comentario: |
|
|
|