Foros del Web » Creando para Internet » Flash y Actionscript »

El objeto no regresa al sitio original (Drag and drop)

Estas en el tema de El objeto no regresa al sitio original (Drag and drop) en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/12/2013, 11:12
Avatar de yefranjo77  
Fecha de Ingreso: febrero-2008
Ubicación: Aragua - Venezuela
Mensajes: 312
Antigüedad: 16 años, 10 meses
Puntos: 1
De acuerdo El objeto no regresa al sitio original (Drag and drop)

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:
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
};

me suguieren que aplicara lo siguiente

Código:
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

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:
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:
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.

¿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
__________________
"Un punto importante para lograr nuestras metas es tener paciencia"
  #2 (permalink)  
Antiguo 03/12/2013, 11:18
Avatar de yefranjo77  
Fecha de Ingreso: febrero-2008
Ubicación: Aragua - Venezuela
Mensajes: 312
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: El objeto no regresa al sitio original (Drag and drop)

Otra cosa los sonidos no se escuchan cuando corro el software completo... pero cuando lo hago pelicula por pelicula si se escuchan.

gracias
__________________
"Un punto importante para lograr nuestras metas es tener paciencia"

Etiquetas: as, drag, objeto, original, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.