Key:
MC = Movie Clip
This tutorial tells you how to make can make a dragable MC, and then make it do something else when you have dragged the MC and released it on top of another, But if it does not touch the other object it goes back to its original place. Here's an example:
For starts draw the object you want to drag in a new movie, then click Insert > Convert To Symbol. Call it "drag" and save it as an MC. Then create another file you want it to collide with and make it into an MC called "hit". You can now turn the alpha to 0% if you want as it still will work! Now double click on frame 1 and put this action in:
stop ();
Now press F6 on frame 2 to put in a new keyframe. This is what the movie will goto when the 2 MCs have touched.
Now you want to label the instances, On frame 1 label the dragable object as "drag" and the object you want to hit as "hit". Now put this script into the first MC.
onClipEvent
(load) {
startX = this._x;
startY = this._y;
}
onClipEvent (mouseDown) {
if (_root.drag.hitTest(_root._xmouse, _root._ymouse)) {
_root.draggedDrag = true;
}
}
onClipEvent (enterFrame) {
if (_root.draggedDrag) {
_root.drag._x = _root._xmouse;
_root.drag._y = _root._ymouse;
}
}
onClipEvent (mouseUp) {
if (this.hitTest(_root.hit)) {
_root.draggedDrag = false;
_root.gotoAndPlay (2);
_root.drag._x = startX;
_root.drag._y = startY;
} else {
_root.drag._x = startX;
_root.drag._y = startY;
_root.draggedDrag = false;
}
}
You can change the
instance name to anything you want but you have to change it in the scipt aswell.
If you don't want the MC to go back where it started when you have released
then just delete the:
onClipEvent
(load) {
startX = this._x;
startY = this._y;
}
action.
| » Level Intermediate |
|
Added: 2002-06-23 Rating: 6 Votes: 86 |
| » Author |
| Stuart Lynch |
| » Download |
| Download the files used in this tutorial. |
| Download (3 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!