click here to download
a cool drag and drop using as3 and greensock
source code
=================================================================
import com.greensock.*;
import com.greensock.easing.*;
createEvents();
function createEvents():void {
for (var i:Number=1; i<4; i++) {
this["drag"+i].__x=this["drag"+i].x;
this["drag"+i].__y=this["drag"+i].y;
this["drag"+i].answer=String("drop"+i);
this["drag"+i].index=1;
this["drag"+i].buttonMode=true;
this["drag" + i].addEventListener(MouseEvent.MOUSE_DOWN,dragIcon);
this["drag" + i].addEventListener(MouseEvent.MOUSE_UP,dropIcon);
}
}
function dragIcon(m:MouseEvent):void {
swap(MovieClip(m.currentTarget));
MovieClip(m.currentTarget).startDrag();
}
function tweenback(__target)
{
__target.stopDrag();
TweenLite.to(__target, 0.5, {x:__target.__x, y:__target.__y, ease:Cubic.easeOut,onComplete:reset});
}
function reset():void
{
createEvents()
}
function dropIcon(m:MouseEvent):void {
if(MovieClip(m.currentTarget).dropTarget.parent.name==MovieClip(m.currentTarget).answer)
{
answerfound(MovieClip(m.currentTarget))
MovieClip(m.currentTarget).buttonMode=false;
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_DOWN,dragIcon);
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_UP,dropIcon);
MovieClip(m.currentTarget).stopDrag();
}
else
{
MovieClip(m.currentTarget).buttonMode=false;
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_DOWN,dragIcon);
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_UP,dropIcon);
tweenback(MovieClip(m.currentTarget));
}
}
function answerfound(__target):void
{
TweenMax.to(__target, 0.2, {shortRotation:{rotation:90}});
__target.x=this[__target.answer].x
__target.y=this[__target.answer].y;
TweenMax.to(__target, 0.2, {shortRotation:{alpha:0}});
TweenMax.to(__target, 0.2, {shortRotation:{scaleX:0.2}});
TweenMax.to(__target, 0.2, {shortRotation:{scaleY:0.2}});
}
function swap(o:*):void {
var highestDepth:uint = numChildren - 1;
setChildIndex(this["drag"+o.index],highestDepth);
setChildIndex(o, highestDepth);
}
a cool drag and drop using as3 and greensock
source code
=================================================================
import com.greensock.*;
import com.greensock.easing.*;
createEvents();
function createEvents():void {
for (var i:Number=1; i<4; i++) {
this["drag"+i].__x=this["drag"+i].x;
this["drag"+i].__y=this["drag"+i].y;
this["drag"+i].answer=String("drop"+i);
this["drag"+i].index=1;
this["drag"+i].buttonMode=true;
this["drag" + i].addEventListener(MouseEvent.MOUSE_DOWN,dragIcon);
this["drag" + i].addEventListener(MouseEvent.MOUSE_UP,dropIcon);
}
}
function dragIcon(m:MouseEvent):void {
swap(MovieClip(m.currentTarget));
MovieClip(m.currentTarget).startDrag();
}
function tweenback(__target)
{
__target.stopDrag();
TweenLite.to(__target, 0.5, {x:__target.__x, y:__target.__y, ease:Cubic.easeOut,onComplete:reset});
}
function reset():void
{
createEvents()
}
function dropIcon(m:MouseEvent):void {
if(MovieClip(m.currentTarget).dropTarget.parent.name==MovieClip(m.currentTarget).answer)
{
answerfound(MovieClip(m.currentTarget))
MovieClip(m.currentTarget).buttonMode=false;
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_DOWN,dragIcon);
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_UP,dropIcon);
MovieClip(m.currentTarget).stopDrag();
}
else
{
MovieClip(m.currentTarget).buttonMode=false;
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_DOWN,dragIcon);
MovieClip(m.currentTarget).removeEventListener(MouseEvent.MOUSE_UP,dropIcon);
tweenback(MovieClip(m.currentTarget));
}
}
function answerfound(__target):void
{
TweenMax.to(__target, 0.2, {shortRotation:{rotation:90}});
__target.x=this[__target.answer].x
__target.y=this[__target.answer].y;
TweenMax.to(__target, 0.2, {shortRotation:{alpha:0}});
TweenMax.to(__target, 0.2, {shortRotation:{scaleX:0.2}});
TweenMax.to(__target, 0.2, {shortRotation:{scaleY:0.2}});
}
function swap(o:*):void {
var highestDepth:uint = numChildren - 1;
setChildIndex(this["drag"+o.index],highestDepth);
setChildIndex(o, highestDepth);
}
thanks
ReplyDeletedownload link is broken :(
ReplyDelete