Bounded Drag & Drop
The Bounded Drag & Drop behavior is an advanced version of the Drag and drop. This drags and drops objects either by mouse or touch with advanced bounding features.
Features include bound to either radius, position or both, bound by origin or edge and bound methods of clamp and halt.
The best benefit for this addon is that it supports all editors and runtimes of Construct. Both, Construct 2 and Construct 3.
It implements advanced bounding features for world objects.
Intstructions
1. The first step is to add the Bounded Drag & Drop behavior into an object in the project.
2. These steps are explained below. For more information, visit the Construct 3 Manual's behavior reference.
3. Do this by creating a world object (instance based), an object that is interactive with the layout, for example the Sprite object.
4. Select the object instance, then from the properties bar, click Edit Behaviors.
5. Once the dialog pops up, press the Add new behavior button.
6. A behaviors list dialog popup will show, with the list of available behaviors compatible with the currently selected object. If installed properly, the Bounded Drag & Drop behavior will be on that list.
7. Press add or doubleclick on the behavior, then it'll be added to the object's behavior list.
8. After adding the behavior, you will see the new object properties added by the behavior. You may refer to the Properties section below to learn more about these properties.
9. There are default properties similar with the builtin Drag & Drop, the Axes is the direction you can drag the object and the initial state determines if the behavior is initially activated.
10. Beyond the default properties, are the advanced bounding feature properties, I recommend reading the Properties section below to have insight on what feature each property does, and lookup the example projects to know how they interact with the objects.
That covers the basics, I wish you good luck on your learning!
Features
The Bounded Drag & Drop is a behavior addon that implements advanced bounded drag and drop features into an object on an application made by Construct 2 or Construct 3. It's easy to use and with easy sample projects. It allows you to easily apply a drag and drop scope limit instantly or smoothly on world object instances.
Features :

Easy drag and drop with bounding features.

Advanced bounded drag & drop features.

Dynamic bounding features, able to adapt instantly on dynamic bound scope changes.

Easy to use and no programming required.

Wellsupported and fully tested.

Bound to radius, position or both.

Bound by origin or edge.

Bound method of clamp or halt.

Builtin Construct 2 and Construct 3 Drag and Drop behavior features included.

Construct 2 editor support.

Construct 3 editor support.

Construct 2 runtime.

Construct 3 runtime.

Forwards compatibility support.

Runtime maintenance support.
Actions, Conditions & Expressions
Actions
Default :

Set enabled  Enable or disable the drag and drop behavior.

State  Choose whether to enable or disable the behavior.


Drop  If currently being dragged, force the object to be dropped.
Bound :

Set BoundTo  Which to is the object bounded.

BoundTo  To which point the object is bounded.


Set BoundBy  Set the point object is bounded.

BoundBy  From which point the object is bounded.


Set Bound Method  Choose whether the object is halted or clamped when bounded.

Bound Method  'Halt' bounding method is rough while `Clamp` is smooth.


Overwrite Origin Position  Overwrite the origin point (X,Y) of creation. Becareful when using this.

OriginX  Overwrite the origin point X of creation. Default : Instance creation X.

OriginY  Overwrite the origin point X of creation. Default : Instance creation Y.

Radius :

Set Bound XYRadius  The radius in the X & Y axis it can move from its bound point. Both 0 is 'off'.

XRadius  The radius in the Xaxis it can move from its bound point. 0 is 'off'.

YRadius  The radius in Y which it can move from its bound point. 0 is 'off'.


Set Bound XRadius  The radius in the Xaxis it can move from its bound point.

XRadius  The radius in which it can move from its bound point. 0 is 'off'.


Set Bound YRadius  The radius in the Yaxis it can move from its bound point.

YRadius  The radius in which it can move from its bound point. 0 is 'off'.

Position :

Set Bound Position  The X location it can only move from its bound point.

Minimum BoundX  The Minimum Xposition it can only move from its bound point.

Maximum BoundX  The Maximum Xposition it can only move from its bound point.

Minimum BoundY  The Minimum Yposition it can only move from its bound point.

Maximum BoundY  The Maximum Yposition it can only move from its bound point.


Set Bound X Position  The X location it can only move from its bound point.

Minimum BoundX  The Minimum Xposition it can only move from its bound point.

Maximum BoundX  The Maximum Xposition it can only move from its bound point.


Set Bound Y Position  The Y location it can only move from its bound point.

Minimum BoundY  The Minimum Yposition it can only move from its bound point.

Maximum BoundY  The Maximum Yposition it can only move from its bound point.

Conditions
Default :

Is dragging  True if the object is currently being dragged.

On drag start  Triggered when the object begins to be dragged.

On drop  Triggered when the object is dropped (the drag stops).

Is enabled  True if the behavior is enabled.
Bound :

On any bound exceeded  Triggered when the drag is beyond any kind of boundings.
Radius :

On radius exceeded  Triggered when the drag is beyond any radius boundings.

Is radius exceeded  Triggered when the drag is beyond X radius boundings.
Position :

On position exceeded  Triggered when the drag is beyond any position boundings.

Is position exceeded  Triggered when the drag is beyond X position boundings.
Expressions
Bound :

BoundTo  Return to which point the object is bounded.

BoundBy  Return from which point the object is bounded.

BoundMethod  Return whether the object bound method is 'halt' or 'clamped'.
Bound Radius :

xBoundRadius  Return the X Bound radius length.

yBoundRadius  Return the Y Bound radius length.
Bound Position :

xMinBoundPos  Return the Minimum X Bound Position.

xMaxBoundPos  Return the Maximum X Bound Position.

yMinBoundPos  Return the Minimum Y Bound Position.

yMaxBoundPos  Return the Maximum Y Bound Position.
Bound Origin :

xOrigin  Return the Origin X of creation.

yOrigin  Return the Origin Y of creation.
Properties

Axes  Which ways the object can be dragged.

Both

Horizontal only

Vertical only


Initial state  Whether to initially have the behavior enabled or disabled.

Disabled

Enabled


Bound To  Which to is the object bounded.

Off

Both

Radius

Position


Bound By  From which point the object is bounded.

Origin

Edge


Bound Method  Choose whether the object is halted or clamped when bounded.

Halt

Clamp


Bound XRadius  The radius in the Xaxis it can move from its bound point.

Bound YRadius  The radius in the Yaxis it can move from its bound point.

Bound Min X  The Minimum X location it can only move from its bound point.

Bound Max X  The Maximum X location it can only move from its bound point.

Bound Min Y  The Minimum Y location it can only move from its bound point.

Bound Max Y  The Maximum Y location it can only move from its bound point.
Radius Bound Example
Sample Setup Project
Specifications

Instructions  The sample project has comments and instructions on how to use the addon and its features.

A.C.E. Coverage  It covers the implementation of each action, condition and expression.

Tips and Tricks  It provides some tips and tricks to a better use of the addon and of the eventsheet system alongside it.
Supporters
Only
The Bounded Drag & Drop behavior is also available for free from the Construct 3 and Construct 2 addon directory. There are also documentations and support there, although supporters have more priority.
You can visit the provided links below, so you can learn more about the addons.
Construct 3 Documentation
Position Bound Example
Sample Setup Project
Specifications

Instructions  The sample project has comments and instructions on how to use the addon and its features.

A.C.E. Coverage  It covers the implementation of each action, condition and expression.

Tips and Tricks  It provides some tips and tricks to a better use of the addon and of the eventsheet system alongside it.
Supporters
Only
Event Bound Example
Sample Setup Project
Specifications

Instructions  The sample project has comments and instructions on how to use the addon and its features.

A.C.E. Coverage  It covers the implementation of each action, condition and expression.

Tips and Tricks  It provides some tips and tricks to a better use of the addon and of the eventsheet system alongside it.