1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Tutorial Arrastrar y Soltar en Flash

Tema en 'Tutoriales Desarrollo Web' iniciado por elQuique, 22 Mar 2006.

  1. elQuique

    elQuique Usuario activo

    Bueno, otra duda que merece otra respuesta y que mejor si es un mini tuto :clapping:

    1) Lo primero que hice fue crear un documento flash (con las propiedades por defecto)

    2) Luego con CTRL F8, agregue un MovieClip que le llame mc_logoFC

    <img src="http://www.forocreativo.net/tutoriales/arrastrarysoltar/paso1.JPG" border="0" alt="Imagen IPB" />

    3) Entre al MovieClip y pegue el logo de FC en una capa que le llame "logo" (jeje bien pensado no?)

    <img src="http://www.forocreativo.net/tutoriales/arrastrarysoltar/paso2.JPG" border="0" alt="Imagen IPB" />

    4) A la otra capa que vemos en la imagen le he puesto de nombre acciones y escribi en ella el codigo necesario para el efecto de arrastrar y soltar

    <img src="http://www.forocreativo.net/tutoriales/arrastrarysoltar/paso3.JPG" border="0" alt="Imagen IPB" />

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    function seguime() {
    &nbsp;&nbsp;&nbsp;&nbsp;_x += (_parent._xmouse-_x)*.5;
    &nbsp;&nbsp;&nbsp;&nbsp;_y += (_parent._ymouse-_y)*.5;
    }
    <!--c2--></div><!--ec2-->
    Esta funcion le asigna a las coordenadas <b>X</b>, <b>Y</b> del objeto (en este caso <b>mc_logoFC</b>) un valor nuevo que se acerca a la posicion del mouse (raton). Esto se logra agregandole a la <b>X</b> la diferencia de la distancia entre la <b>X</b> del mouse y la <b>X</b> del objeto (<b>_parent._xmouse-_x</b>), pero solo un 50% para que sea mejor el efecto por eso multiplicamos por 0,5 (<b>*.5</b>). Y lo mismo hacemos con la coordenada <b>Y</b>.

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    this.onMouseDown = function() {
    &nbsp;&nbsp;&nbsp;&nbsp;this.onEnterFrame = this.seguime;
    };
    <!--c2--></div><!--ec2-->
    Este fragmento del codigo indica que la funcion <b>seguime</b>, se ejecute mientras presionamos el boton del mouse.

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    this.onMouseUp = function() {
    &nbsp;&nbsp;&nbsp;&nbsp;this.onEnterFrame = null;
    };
    this.onReleaseOutside = this.onRelease;
    <!--c2--></div><!--ec2-->

    Y deja de moverse cuando soltamos el mouse.


    Listo !!!

    <a href="http://www.forocreativo.net/tutoriales/arrastrarysoltar" target="_blank">Vealo funcionando</a>

    <a href="http://www.forocreativo.net/tutoriales/arrastrarysoltar/arrastrar.zip" target="_blank">Bajar el Archivo Flash</a>
     
  2.  
  3. Sin_Alma

    Sin_Alma Fantasy Artist

    que bueno es nuestro jefe y nosotros haciendole de todo en la actividad :p

    Gracias quique :eqforpresident: :smilie11:
     
  4. kitsch

    kitsch Nuevo usuario

    Bravo!! Bravo!! Vamos con todo Flash!!
     
  5. ginger

    ginger Nuevo usuario

    muchas gracias quique.
    abrazos.
     
  6. pj_designer

    pj_designer Nuevo usuario

    Exelente LD, ya lo voy a usar :clapping:
     
  7. opinguino

    opinguino Espécimen en peligro de extinción

    fantastico jorge

    solo me falta entender el actionscript :D
     
  8. igraim

    igraim Nuevo usuario

    Bastante bueno... pero aquí uno más simple:
    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    nombredelmovieclip.onMouseDown = function (){ this.startDrag();}
    nombredelmovieclip.onMouseUp = function (){ this.stopDrag();}<!--c2--></div><!--ec2-->
     
  9. elQuique

    elQuique Usuario activo

    <!--quoteo(post=91925:date=Mar 23 2006, 09:47 AM:name=igraim)--><div class='quotetop'>CITA(igraim @ Mar 23 2006, 09:47 AM) [snapback]91925[/snapback]</div><div class='quotemain'><!--quotec-->
    Bastante bueno... pero aquí uno más simple:
    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    nombredelmovieclip.onMouseDown = function (){ this.startDrag();}
    nombredelmovieclip.onMouseUp = function (){ this.stopDrag();}<!--c2--></div><!--ec2-->
    <!--QuoteEnd--></div><!--QuoteEEnd-->


    Si es que cuando vi la pregunta hice el script literalmente como lo hago en Visual Basic o C jajaja sin recordar que Flash tenia el start y stop Drag jaja
     
  10. elQuique

    elQuique Usuario activo

    Bueno he publicado la version mejorada de este mini tuto

    <a href="http://www.forocreativo.net/ipb/index.php?showtopic=10735" target="_blank">http://www.forocreativo.net/ipb/index.php?showtopic=10735</a>


    saludos
     
  11. salus

    salus Nuevo usuario

    lo que pasa esque en ese tutorial se mueve el mc en todas direcciones, yo necesito moverlo solamente en x
    hasta un punto
     
  12. elQuique

    elQuique Usuario activo

    Por eso te comentaba en el otro post del tutorial hecho con el StartDrag que esta version que postie primero es mas elaborada y manual pero permite mejor control, por ejemplo si te fijas en las lineas que propongo al principio tienes

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->function seguime() {
    _x += (_parent._xmouse-_x)*.5;
    _y += (_parent._ymouse-_y)*.5;
    }
    <!--c2--></div><!--ec2-->

    esta funcion es la que hace moverse en X e Y, por tanto si quitamos la linea de Y deja de moverse ;)

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->function seguime() {
    _x += (_parent._xmouse-_x)*.5;
    }
    <!--c2--></div><!--ec2-->

    facil no ??

    Bueno ahora me dices que solo quieres moverte hasta una posicion determinada en X, pues ahi es donde te decia que utilices un if para determinar hasta cuanto moverse por tanto quedaria asi:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->function seguime() {
    &nbsp;&nbsp;&nbsp;&nbsp;if (_x < 300) {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_x += (_parent._xmouse-_x)*.5;
    &nbsp;&nbsp;&nbsp;&nbsp;}
    }<!--c2--></div><!--ec2-->

    ahi se mueve solamente mientras X es menor a 300, capiche ???

    cualquier cosa a las ordenes :)
     
  13. salus

    salus Nuevo usuario

    gracias maestro, esque en otro codigo de otro sitio eliminé las coordenadas en y concretamente d eun script echo con hitTest y no me funcionaba, probaré haber que tal.

    PD.Que niños más guapos que tienes
     
  14. elQuique

    elQuique Usuario activo

    Claro salen al padre jaja pssss
     
  15. salus

    salus Nuevo usuario

    lo que quiero arrastrar es una imagen que mide 1600x550 pero solo se visualiza a través de una máscara
    900x550, los espacios sobrantes a los lados son los que se verian al arrastrar la imagen, sería como una ventana que tiene su barra de explorador horizontal, pero el cliente no lo quiere asi, si no arrastrándolo, he puesto el código que me has dicho, pero dá problemas, te dejo el archivo
    para que lo veas

    www.immobiliariamys.com/arrastrar.rar
     
  16. ingclau

    ingclau Nuevo usuario

    Hola. Quisiera saber como hacer para que despues que arrastro el movieclip, al soltarlo, vaya y reproduzca otro movieclip en determinado frame.
    Si me ayudan les agradeceria mucho!!!
     
  17. patanatas

    patanatas Nuevo usuario

    como logro que al arrastralo y al soltarlo si un siga un poco mas y frene suavemente no tan brusco
    algo presido a esto Mi vínculo
    desde ya gracias
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·