Comunidad de diseño web y desarrollo en internet online

Puntero no se mueve

Citar            
MensajeEscrito el 25 Ago 2008 10:19 pm
He creado un puntero (Simbolo: Clip de película) y con el siguiente código funciona de maravillas.

Mouse.hide();
startDrag("puntero", true);

El problema surge cuando pulso y no suelto para arrastrar unos objetos. Al hacerlo, el puntero creado por mi se queda fijo y se mueve el objeto seleccionado, sin poder volver a utilizar el puntero arriba descrito.

¿¿¿ Qué debo hacer para que este puntero se vea siempre y no falle al arrastrar objetos ???

Gracias.

Por xoloh

10 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 25 Ago 2008 10:32 pm
startDrag se puede usar en un solo objeto, si le asignas un startDrag a un segundo objeto, el primero dejará de moverse, para mover el puntero no utilices startDrag, más bien un evento de onMouseMove y le das posiciones al puntero respecto a la posición del mouse.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 26 Ago 2008 10:46 am
Ok, voy a investigar con lo que me has dicho.

Por xoloh

10 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 26 Ago 2008 01:15 pm
Ahora tengo el siguiente código:

Mouse.hide();
mouse.onMouseMove = function() {
this._x = _xmouse;
this._y = _ymouse;
updateAfterEvent();
}

Y funciona muy bien, consiguiendo arrastrar los objetos. El problema está que el objeto a arrastrar según en la posición que la dejes, debe permanecer en esa nueva posición o volver a la posición original. Este sistema antes funcionaba bien y ahora ya no funciona, siempre retorna a la posición original.

¿Qué puede pasar?

Por xoloh

10 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 26 Ago 2008 07:29 pm
Primero que todo arregla esto, supón que tu puntero tiene nombre de instancia "puntero", sitúa esto en el primer frame de tu película donde tiene que estar presente el clip "puntero":

Código ActionScript :

Mouse.hide();
this.puntero.onMouseMove = function():Void {

    this._x = _root._xmouse;
    this._y = _root._ymouse;
    updateAfterEvent();

}


Ahora respecto a lo otro, postea el código que tenías anteriormente que hacía que los objetos regresaran para ver si se detecta el problema.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 26 Ago 2008 07:54 pm
Ok, ya está cambiado, aunque con el código anterior también funcionaba.

El código es el siguiente y se aplican a clips de películas:

Código :

on (press) {
   startDrag("/arrastre1");
}
on (release) {
   stopDrag();
   if (getProperty("/arrastre1", _droptarget) eq "/finarrastre1") {
      setProperty("/arrastre1", _x, "723");
      setProperty("/arrastre1", _y, "250"); 
   } else {
      setProperty("/arrastre1", _x, "603");
      setProperty("/arrastre1", _y, "448");
   }
}

Por xoloh

10 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 26 Ago 2008 08:21 pm
Ufff, AS1, si estás trabajando con AS2 mejor migra todo a AS2, mira toda esa complicación que fácil es con AS2:

Código ActionScript :

on (press) {
   this.startDrag();
}

on (release) {
   stopDrag();

   if (_droptarget == "/finarrastre1") {
      _x = this._parent.finarrastre1._x;
      _y = this._parent.finarrastre1._y;
   } else {
      _x = 603;
      _y = 448;
   }
}


ahora recuerda que el movie donde quieres situar tu clip debe tener nombre de instancia "finarrastre1" según tu código

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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