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

Un pequeño Regalito un Simple Drag and Drop

Estas en el tema de Un pequeño Regalito un Simple Drag and Drop en el foro de Flash y Actionscript en Foros del Web. Es el codigo de un Drag and Drop simple en ActionScript 2 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ACTIONSCRIPT: Ver original //Primero que todo hay que crear dos ...
  #1 (permalink)  
Antiguo 07/08/2010, 20:14
 
Fecha de Ingreso: enero-2008
Ubicación: Concepción, Chile
Mensajes: 76
Antigüedad: 14 años, 6 meses
Puntos: 3
Un pequeño Regalito un Simple Drag and Drop

Es el codigo de un Drag and Drop simple en ActionScript 2

Código ACTIONSCRIPT:
Ver original
  1. //Primero que todo hay que crear dos clips uno llamado drag y el otro drop.
  2. //Obviamente Drag sera el clip a Arrastrar y Drop sera la zona Sensible en la
  3. //cual deberia caer el clip de drag.
  4. //todo lo demás es automático
  5. //si el Drag no tiene una zona sensible valida automaticamente se vuelve
  6. // a la coordenada de donde salio.
  7.  
  8. var dropped:MovieClip   = drop;
  9. var dragger:MovieClip   = drag;
  10. var back:MovieClip      = new MovieClip();
  11. back._x                 = dragger._x;
  12. back._y                 = dragger._y;
  13. dragger.init            = back;
  14.  
  15. dragger.onPress         = function():Void{
  16.     comienzadrag(this);
  17. }
  18.  
  19. dragger.onRelease       = function():Void{
  20.     finalizadrag(this);
  21. }
  22.  
  23. dragger.onReleaseOutside= function():Void{
  24.     finalizadrag(this);
  25. }
  26.  
  27. function comienzadrag(a:MovieClip):Void{
  28.     a.startDrag();
  29. }
  30.  
  31. function finalizadrag(a:MovieClip):Void{
  32.     a.stopDrag();
  33.     var qdrop:MovieClip = eval(a._droptarget);
  34.     if(qdrop){
  35.         if(qdrop==dropped){
  36.             backmovie(a, qdrop);
  37.         }else{
  38.             backmovie(a, a.init);
  39.         }
  40.     }else{
  41.         backmovie(a, a.init);
  42.     }
  43. }
  44.  
  45. function backmovie(a:MovieClip, b:MovieClip):Void{
  46.     a._x    = b._x;
  47.     a._y    = b._y;
  48. }

Espero le sea de ayuda a alguna persona.
Saluda Atte.
Claudio Barrera Asencio.

Última edición por polo_W12; 07/08/2010 a las 20:19 Razón: Me equivoqué
  #2 (permalink)  
Antiguo 08/08/2010, 20:37
 
Fecha de Ingreso: enero-2008
Ubicación: Concepción, Chile
Mensajes: 76
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Un pequeño Regalito un Simple Drag and Drop

Ahora el mismo ejercicio desarrollado con ActionScript 3

Código ACTIONSCRIPT:
Ver original
  1. //Primero que todo hay que crear dos clips uno llamado drag y el otro drop.
  2. //Obviamente Drag sera el clip a Arrastrar y Drop sera la zona Sensible en la
  3. //cual deberia caer el clip de drag.
  4. //todo lo demás es automático
  5. //si el Drag no tiene una zona sensible valida automaticamente se vuelve
  6. // a la coordenada de donde salio.
  7.  
  8. var dropped:MovieClip   = drop;
  9. var dragger:MovieClip   = drag;
  10. var back:MovieClip      = new MovieClip();
  11. var curclip:MovieClip   = new MovieClip()
  12. back.x                  = dragger.x;
  13. back.y                  = dragger.y;
  14. dragger.init            = back;
  15.  
  16. dragger.addEventListener(MouseEvent.MOUSE_DOWN, comienzadrag);
  17. dragger.addEventListener(MouseEvent.MOUSE_UP, finalizadrag);
  18.  
  19. function comienzadrag(a:MouseEvent):void{
  20.     var clip:MovieClip  = a.currentTarget as MovieClip;
  21.     curclip             = clip;
  22.     stage.addEventListener(MouseEvent.MOUSE_UP, releaseoutside);
  23.     clip.startDrag(false, null);
  24. }
  25.  
  26. function finalizadrag(a:MouseEvent):void{
  27.     var clip:MovieClip  = a.currentTarget as MovieClip;
  28.     clip.stopDrag();
  29.     var qdrop:* = clip.dropTarget;
  30.     if(qdrop){
  31.         var pt:MovieClip = qdrop.parent as MovieClip;
  32.         if(pt==dropped){
  33.             backmovie(clip, pt);
  34.         }else{
  35.             backmovie(clip, clip.init);
  36.         }
  37.     }else{
  38.         backmovie(clip, clip.init);
  39.     }
  40. }
  41.  
  42. function releaseoutside(a:MouseEvent):void{
  43.     if(curclip){
  44.         var pt:MovieClip    = curclip.parent as MovieClip;
  45.         curclip.stopDrag();    
  46.         if(a.target==stage){
  47.             backmovie(curclip, curclip.init);      
  48.             stage.removeEventListener(MouseEvent.MOUSE_UP, releaseoutside);
  49.         }else{
  50.             curclip         = null;
  51.         }
  52.     }
  53. }
  54.  
  55. function backmovie(a:MovieClip, b:MovieClip):void{
  56.     a.x    = b.x;
  57.     a.y    = b.y;
  58. }

Espero le sea de ayuda a alguna persona.
Saluda Atte.
Claudio Barrera Asencio.

Etiquetas: drag, drop, simple
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 16:07.