Bounded Drag & Drop
An advanced version of the Drag and drop behavior. This drags and drops objects either by mouse or touch with advanced bounding features.
C2 Addon Download Here: https://www.construct.net/construct-2/addons/94/bounded-drag-drop
Contains 1 C2 addon & 3 examples .capx.
C3 Addon Download Here: https://www.construct.net/make-games/addons/91/bounded-drag-drop/documentation
Contains 1 C3 addon & 3 examples .c3p.
Icons made by Freepik from Flaticon licensed by Creative Commons BY 3.0
Bounded Drag & Drop is an advanced version of the official Drag & Drop behavior. One of the main bounding features this behavior have is the "Radius Bound" & "Position Bound", which can be turned on & off at the same time. There are also other included features in this behavior which makes this a very full-packed drag & drop extension for you Construct 2 projects, which will be explained below.
There will also be a Construct 3 version soon!
Feature List:
- Official Drag & Drop :: Axis
- Official Drag & Drop :: Enable Toggle
- Dedicated Drag & Drop :: Bound To Features
- Dedicated Drag & Drop :: Bound By Options
- Dedicated Drag & Drop :: Bound Method Options
- Dedicated Drag & Drop :: Exceed Bound Conditions
- Dedicated Drag & Drop :: Complete Bound Expression
- Dedicated Drag & Drop :: Axis auto-adjust to bounding inputs
Feature Descriptions :
Axis
On the instance properties bar, you can manipulate the axis in which the instance can move while dragging; This can also be simulated using the Axis auto-adjust to bounding inputs feature. Depending on the option selected, you can simulate an Axis change by limiting the bound to values.
Bound To :: Radius
On Bound To :: Radius or Both, you can limit the amount of Bound XRadius or Bound YRadius to simulate the change of Axis effect. Check Example1 on the examples tab.
Bound To :: Position
On Bound To :: Position or Both, you can limit the amount of Bound MinX and Bound MaxX or Bound MinY and Bound MaxY to simulate the change of Axis effect. Check Example2 on the examples tab.
Initial State
On the instance properties bar & on the event sheet, you can enable or disable the behavior at any time you want.
Bound To
On the instance properties bar & on the event sheet, there is an option to choose the bounding to options.
Off:
The Off will turn off all the bounding options as if it was an ordinary Drag & Drop behavior.
Radius:
The Radius option will bound the object instance to its own
BoundX Radius & BoundY Radius relative to its Creation Point (X,Y) or also known in the Actions, Conditions & Expressions as OriginX & OriginY which you can overwrite on the event sheet.
Position:
The Position option will bound the object instance's position to between
Bound MinimumX, Bound MaximumX & Bound MinimumY, Bound MaximumY relative to its Creation Point (X,Y) or also known in the Actions, Conditions & Expressions as OriginX & OriginY which you can overwrite on the event sheet.
Check examples, Example1 & Example2 on the examples tab.
Bound By
On the instance properties bar & on the event sheet, there is an option to choose the bounding by options.
Origin
The bounding will take effect on the origin of the object instance.
Edge
The bounding will take effect on the edge of the object instance.
Bound Method
On the instance properties bar & on the event sheet, there is an option to choose the bounding method. There are 2 options, Halt & Clamp.
Halt
This bounding method is rough and will immediately stop the dragging and maintain the previous position if the (dragX & dragY) or (TouchX & TouchY) has exceeded the bounds.
Clamp
This bounding method is smooth and will continue the dragging of available axis that haven't exceeded the bounds while maintaining the previous position of the exceeded bounds.
Actions, Expressions & Conditions
Actions:
Conditions:
Expressions: