Comunidad de diseño web y desarrollo en internet online

juegos de arrastrar y soltar

Citar            
MensajeEscrito el 03 Dic 2013 05:21 pm
Hola a todos

Estoy realizando un software educativo que tiene varios juegos de arrastrar y soltar, en el cual el ejercicio trabaja bien pero en una serie de pruebas que realice con ese ejercicio llega un momento en que el objeto no regresa al sitio original cuando el ejercicio es errado.

Los juegos se visualizan en una pelicula principal por medio de un MC VACIO (contenedor)

al principio aplique este codigo:

Código ActionScript :

stop ();
_global.cont = 0;
_global.desc = 0;
if (cont == 12)
{
    _global.aciertos2++;
    gotoAndPlay(61);
    this._parent.btn_siguiente.enabled = true;
    pieza1_mc.enabled = false;
    } // end if
if (desc == 12)
{
    _global.malos2++;
    gotoAndPlay(61);
    this._parent.btn_siguiente.enabled = true;
    pieza1_mc.enabled = false;
   } // end if
posX = pieza1_mc._x;
posY = pieza1_mc._y;
pieza1_mc.onPress = function (mouseDown)
{
    this.startDrag();
};
pieza1_mc.onRelease = function (mouseUp)
{
    this.stopDrag();
    if (this.hitTest(dropZone1))
    {
        cont+=1;
        gotoAndPlay(2);
        pieza1_mc._x = dropZone1._x;
        pieza1_mc._y = dropZone1._y;
      pieza1_mc.enabled = false;
    }
    else
    {
        gotoAndPlay(31);
        desc+=1;
        pieza1_mc._x = posX;
        pieza1_mc._y = posY;
    } // end else if
};


SOLISART... me suguirio que aplicara lo siguiente

Código ActionScript :

trace("regresando a "+posX+"/"+posY);


para verificar que pasa cuando no regresa:

despues de varias pruebas paso esto:

Después de hacer la prueba en reiteradas ocasiones con el objeto estos fueron sus resultados:

en los 10 primeros intentos me dio esta ubicación que es la correcta:

regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55
regresando a 273.05/297.55

en los otros diez intentos cambio la ubicación
regresando a 601.05/309.55
regresando a 601.05/309.55
regresando a 601.05/309.55
regresando a 601.05/309.55
regresando a 601.05/309.55
regresando a 603.05/313.55
regresando a 603.05/313.55
regresando a 603.05/313.55
regresando a 603.05/313.55
regresando a 603.05/313.55

luego M4RK me dice que: Los objetos no regresan a su posición inicial porque en el fotograma 1 estas asignando las posiciones repetidamente (cada vez que termina de reproducirse un sonido regresas al fotograma 1), y si el sonido (reproducción de fotogramas) termina y aun no has soltado el objeto, el objeto tomara su posición actual como valor inicial.

Solucion 1: Inicializar las variables mediante una función una única vez:

Código ActionScript :

if(_global.ini==undefined) iniciar(); // como la función no esta definida se ejecutara "iniciar()"
function iniciar(){
   _global.ini = true; // se define variable para no ejecutar mas esta función
   posX = pieza1_mc._x;
   posY = pieza1_mc._y;
   posX1 = pieza2_mc._x;
   posY1 = pieza2_mc._y;
   ...
}


Solucion 2: Vincular y reproducir los sonidos en el código...
Vincular sonido: En biblioteca> sonido> clic derecho> propiedades> pestaña actionscript
Seleccionas "Exportar para actionscript" y le asignas un identificador con el cual lo llamaras en el codigo.

Código ActionScript :

sonido = new Sound();
sonido.attachSound("IDENTIFICADOR");
sonido.start();// reproducir sonido


luego de poner en practica dichas modificaciones al principio estaba marchando todo bien pues por que corria las peliculas 1 x 1 para probarlas... luego que puse a trabajar todo el software en general se me presentan los mismos problemas.

Inclusive los sonidos no se escuchan cuando corro el software completo... pero si se escuchan cuando pruebo pelicula por pelicula.

¿Como puedo hacer para minimizar ese error? ya que pieza1_mc deberia regresar a su posición inicial cuando el ejercicio es errado.

de antemano gracia spor sus aportes

Por yefranjo77

81 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 03 Dic 2013 06:12 pm
Los sonidos tienen que estar exportados en la peli principal, no en la que cargas.


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Dic 2013 07:35 pm
Es decir, NO puedo hacer esto?... por que yo lo aplique así y el sonido no se escucha cuando corro el software completo.

Código ActionScript :

stop ();
_global.cont = 0;
_global.desc = 0;
if (cont == 12)
{
    _global.aciertos2++;
    gotoAndPlay(61);
    this._parent.btn_siguiente.enabled = true;
    pieza1_mc.enabled = false;
    } // end if
if (desc == 12)
{
    _global.malos2++;
    gotoAndPlay(61);
    this._parent.btn_siguiente.enabled = true;
    pieza1_mc.enabled = false;
   } // end if
posX = pieza1_mc._x;
posY = pieza1_mc._y;
pieza1_mc.onPress = function (mouseDown)
{
    this.startDrag();
};
pieza1_mc.onRelease = function (mouseUp)
{
    this.stopDrag();
    if (this.hitTest(dropZone1))
    {
        cont+=1;
        gotoAndPlay(2);
        sonido = new Sound();
        sonido.attachSound("muy_bien");
        sonido.start();// reproducir sonido
        pieza1_mc._x = dropZone1._x;
        pieza1_mc._y = dropZone1._y;
      pieza1_mc.enabled = false;
    }
    else
    {
        gotoAndPlay(31);
        desc+=1;
        sonido = new Sound();
        sonido.attachSound("vamos_amiguito");
        sonido.start();// reproducir sonido
        pieza1_mc._x = posX;
        pieza1_mc._y = posY;
    } // end else if
};

Por yefranjo77

81 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 03 Dic 2013 07:41 pm
Quita el sonido de la biblioteca de la peli y ponlo en la biblioteca principal, dejando el mismo nombre de vinculación, vuelve a probar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Dic 2013 11:13 pm
Hola solisart

gracias por tu aporte, hice algunas pruebas y funciona bien.

ahora voy a publicar otro post.... pero con las cajas de introducción de texto

Gracias.

Por yefranjo77

81 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.