Touya
Mitglied
Hi,
so, da ich seid kurzem (gestern) besitzer von Flash mx bin, habe ich mich heute schon fleißig dran gegeben und ein paar möglichkeiten die mir Flash in bezug auf drag and drop bietet ausprobiert.Eine funktionierende drag&drag navi ist mir auch schon gelungen (yeah..)
Bestehend aus 3 punkten. 2 davon sind punkte die in den 3ten punkt (target) gezogen werden können. Jetzt möchte ich allerdings ein paar modifikationen vornehmen wie zum Beispiel:
- wenn einer der 2 kleinen punkte über dem target schwebt, soll sich dieser weiter öffnen
- wenn bereits ein punkt im target ist, soll beim versuch einen 2ten punkt zu platzieren der alte rausgeworfen werden, damit der 2te platz hat.
das wäre es erstmal soweit. Ich hoffe auf eure hilfe!
hier noch der code:
so, da ich seid kurzem (gestern) besitzer von Flash mx bin, habe ich mich heute schon fleißig dran gegeben und ein paar möglichkeiten die mir Flash in bezug auf drag and drop bietet ausprobiert.Eine funktionierende drag&drag navi ist mir auch schon gelungen (yeah..)
Bestehend aus 3 punkten. 2 davon sind punkte die in den 3ten punkt (target) gezogen werden können. Jetzt möchte ich allerdings ein paar modifikationen vornehmen wie zum Beispiel:
- wenn einer der 2 kleinen punkte über dem target schwebt, soll sich dieser weiter öffnen
- wenn bereits ein punkt im target ist, soll beim versuch einen 2ten punkt zu platzieren der alte rausgeworfen werden, damit der 2te platz hat.
das wäre es erstmal soweit. Ich hoffe auf eure hilfe!

hier noch der code:
Code:
function dragSetup(clip, targ) {
clip.onPress = function() {
startDrag(this);
this.beingDragged=true;
};
clip.onRelease = clip.onReleaseOutside=function () {
stopDrag(); {
}
this.beingDragged=false;
if (eval(this._droptarget) == targ) {
this.onTarget = true;
_root.targetCircle.gotoAndStop(2);
} else {
this.onTarget = false;
_root.targetCircle.gotoAndStop(1);
}
};
//the variables below will store the clips starting position
clip.myHomeX = clip._x;
clip.myHomeY = clip._y;
//the variables below will store the clips end position
clip.myFinalX = targ._x;
clip.myFinalY = targ._y;
clip.onEnterFrame = function() {
//all these actions basically just say "if the mouse is up (in other words - the clip is not being dragged)
// then move the MC back to its original starting point (with a smooth motion)"
if (!this.beingDragged && !this.onTarget) {
this._x -= (this._x-this.myHomeX)/5;
this._y -= (this._y-this.myHomeY)/5;
//if the circle is dropped on any part of the target it slides to the center of the target
} else if (!this.beingDragged && this.onTarget) {
this._x -= (this._x-this.myFinalX)/5;
this._y -= (this._y-this.myFinalY)/5;
}
};
}
dragSetup(circle34_mc,targetCircle);
dragSetup(circle_mc,targetCircle);