Hi there…
not sure this is the rite thread …kind of rushing…
Okay …let me get to the point…I just make a drag and drop …and it work ok so far…but the problem is I didn’t have idea ahow to go …if I want to stop a wrong dragger for a second before I ease back to the origin coordinate…then I can start dragging back…
my attempt so far…by setting interval…it works …but it seem when i clear interval it’s seem not working…it keeps calling the interval…so is that any idea or another way to make it happen…heres the code so far…anyoen who wanna give a shot…
stop();
import mx.transitions.*;
import mx.transitions.easing.*;
var numDraggers:Number =3;
var numRight:Number = 0;
var attempt:Number = 0;
var count:Number = 0;
checkBtn.enabled = false;
checkBtn._alpha = 50;
function easeMC(mc:MovieClip, startx:Number, endx:Number, starty:Number, endy:Number):Void {
// adjust this number for speed...
var time:Number = 10;
var easeType:Function = Strong.easeOut;
var tweenListener:Object = new Object();
var xTween:Tween = new Tween(mc, "_x", easeType, startx, endx, time);
var yTween:Tween = new Tween(mc, "_y", easeType, starty, endy, time);
}
function easeMCwrong(mc:MovieClip, startx:Number, endx:Number, starty:Number, endy:Number, attachMC:MovieClip):Void {
// adjust this number for speed...
var time:Number = 10;
var easeType:Function = Strong.easeOut;
var tweenListener:Object = new Object();
var xTween:Tween = new Tween(mc, "_x", easeType, startx, endx, time);
var yTween:Tween = new Tween(mc, "_y", easeType, starty, endy, time);
//clear interval here..
clearInterval(holdsecond);
removeMovieClip(attachMC);
}
function snapToTarget(drag:MovieClip, target:MovieClip):Void {
drag._x = target._x;
drag._y = target._y;
}
function setUpDraggers():Void {
for (var i = 0; i<numDraggers; i++) {
var myDragger:MovieClip = this["dragger"+i];
myDragger.orgx = myDragger._x;
myDragger.orgy = myDragger._y;
myDragger.dt = this["dt"+i];
myDragger.onPress = function() {
this.startDrag();
};
////////////////////////////////////////////////////
myDragger.onRelease = myDragger.onReleaseOutside=function () {
this.stopDrag();
count++;
this.curDT = eval(this._droptarget);
if(count>=3){
checkBtn._alpha = 100;
checkBtn.enabled = true;
}else{
checkBtn._alpha = 50;
checkBtn.enabled = false;
}
if (this.curDT == "" || this.curDT == undefined) {
easeMC(this, this._x, this.orgx, this._y, this.orgy);
} else {
if (this.curDT == this.dt) {
this.correct = true;
}
snapToTarget(this, this.curDT);
if (this.curDT == this.dt) {
numRight++;
}
}
};
/////////////////////////////////////////////////////////////
}
}
function checkDraggers():Void {
attempt++;
// trace(attempt);
resultxt.text = "you got"+" : "+numRight++;
// trace(numRight);
// numRight = 0;
for (var i = 0; i<numDraggers; i++) {
var myDragger:MovieClip = this._parent["dragger"+i];
var myholder:MovieClip = this._parent["hold"+i];
myDragger.curDT = "";
if (!myDragger.correct) {
var mycross:MovieClip = myholder.attachMovie("cross","cross"+i,99);
var holdsecond:Number = setInterval(easeMCwrong,2000,myDragger, myDragger._x, myDragger.orgx, myDragger._y, myDragger.orgy, mycross);
}else{
var myswoosh:MovieClip = myholder.attachMovie("swoosh","swoosh"+i,99);
}
}
if(attempt == 2){
checkBtn.enabled = false;
checkBtn._alpha = 50;
}
}
checkBtn.onRelease = checkDraggers;
setUpDraggers();
//////////////////////
tq