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 double-click 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 built-in 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.

  • Well-supported and fully tested.

  • Bound to radius, position or both.

  • Bound by origin or edge.

  • Bound method of clamp or halt.

  • Built-in 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 X-axis 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 X-axis 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 Y-axis 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 X-position it can only move from its bound point.

    • Maximum BoundX - The Maximum X-position it can only move from its bound point.

    • Minimum BoundY - The Minimum Y-position it can only move from its bound point.

    • Maximum BoundY - The Maximum Y-position 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 X-position it can only move from its bound point.

    • Maximum BoundX - The Maximum X-position 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 Y-position it can only move from its bound point.

    • Maximum BoundY - The Maximum Y-position 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 X-axis it can move from its bound point.

  • Bound YRadius - The radius in the Y-axis 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 event-sheet 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 event-sheet 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 event-sheet system alongside it.

Supporters

Only

Get the tools

for your pro games!

Constuct Master Collection - Itch.io
Constuct Master Collection - Discord
Constuct Master Collection - Construct 3

© Construct Master Collection 2020 • All rights reserved

Contact Information:

Construct 3 Project