Linked Objects Tools
Conditions to use Linked Objects as a graph and a path finding movement behavior.
Authors and contributors to this experimental extension: D8H.
This provides:
- "Can reach through links" conditions, useful to check if an object is linked to another through one or more other linked objects.
- a path finding movement behavior that uses objects links (instead of obstacles for the other behavior)
For instance, it can be helpful for grid-based games like:
- Match-3 (open the project online)
- Tactical (open the project online)
- City builders (open the project online)
- Point and click (bypass obstacles with a predetermined polygonal chain)
Tip
Learn how to install new extensions by following a step-by-step guide.
Actions
Link to neighbors on a hexagonal grid
Link to neighbors on a hexagonal grid.
See parameters
- Parameter 1: 👾 Object
- Parameter 2 (👾 Object): Neighbor The 2 objects can't be the same.
- Parameter 3 (🔢 Number): Cell width
- Parameter 4 (🔢 Number): Cell height
Technical note: parameters 0, 5 are internal parameters handled by GDevelop.
Link to neighbors on an isometric grid
Link to neighbors on an isometric grid.
See parameters
- Parameter 1: 👾 Object
- Parameter 2 (👾 Object): Neighbor The 2 objects can't be the same.
- Parameter 3 (🔢 Number): Cell width
- Parameter 4 (🔢 Number): Cell height
- Parameter 5 (❓ Yes or No): Allows diagonals
Technical note: parameters 0, 6 are internal parameters handled by GDevelop.
Link to neighbors on a rectangular grid
Link to neighbors on a rectangular grid.
See parameters
- Parameter 1: 👾 Object
- Parameter 2 (👾 Object): Neighbor The 2 objects can't be the same.
- Parameter 3 (🔢 Number): Cell width
- Parameter 4 (🔢 Number): Cell height
- Parameter 5 (❓ Yes or No): Allows diagonals
Technical note: parameters 0, 6 are internal parameters handled by GDevelop.
Conditions
Can reach
Can reach through links.
See parameters
- Parameter 1 (👾 Object): Pick these objects...
- Parameter 2 (👾 Object): if they can reach this object
Technical note: parameters 0, 3 are internal parameters handled by GDevelop.
Can reach with links limited by length
Can reach through a given number of links.
See parameters
- Parameter 1 (👾 Object): Pick these objects...
- Parameter 2 (👾 Object): if they can reach this object
- Parameter 3 (🔢 Number): Maximum link length
- Parameter 4 (string): Cost class Leave empty to make everything crossable with cost = 1. It looks in the variable children of linktools_Cost. No child means not crossable, the cost can be 0 or 1.
Technical note: parameters 0, 5 are internal parameters handled by GDevelop.
Can reach with links limited by cost
Can reach through a given cost sum.
See parameters
- Parameter 1 (👾 Object): Pick these objects...
- Parameter 2 (👾 Object): if they can reach this object
- Parameter 3 (string): Initial length variable Start to 0 if left empty
- Parameter 4 (🔢 Number): Maximum cost
- Parameter 5 (string): Cost class Leave empty to make everything crossable with cost = 1. It looks in the variable children of linktools_Cost. No child means not crossable, the cost must be positive.
- Parameter 6 (🔢 Number): Maximum depth
- Parameter 7 (❓ Yes or No): Ignore first node cost
Technical note: parameters 0, 8 are internal parameters handled by GDevelop.
Expressions
Expression | Description | |
---|---|---|
LinkTools::CostSum(object) |
Cost sum. | |
👾 Object | Object |
Link path finding
The object will move from one object instance to another according to how they are linked to one another to reach a targeted object.
Behavior actions
Forget the path
Forget the path.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
Technical note: parameter 2 are internal parameters handled by GDevelop.
Move to a position
Move the object to a position.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2 (👾 Object): Crossable objects
- Parameter 3 (👾 Object): Destination objects
- Parameter 4 (string): Cost class
Technical note: parameter 5 are internal parameters handled by GDevelop.
Acceleration
Change the acceleration of the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Operator
- Parameter 3 (🔢 Number): Value
Technical note: parameter 4 are internal parameters handled by GDevelop.
Angle offset
Change the rotation offset applied when moving the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Operator
- Parameter 3 (🔢 Number): Value
Technical note: parameter 4 are internal parameters handled by GDevelop.
Rotate the object
Enable or disable rotation of the object on the path.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2 (❓ Yes or No): Rotate
Technical note: parameter 3 are internal parameters handled by GDevelop.
Rotation speed
Change the rotation speed of the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Operator
- Parameter 3 (🔢 Number): Value
Technical note: parameter 4 are internal parameters handled by GDevelop.
Maximum speed
Change the maximum speed of the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Operator
- Parameter 3 (🔢 Number): Value
Technical note: parameter 4 are internal parameters handled by GDevelop.
Behavior conditions
Acceleration
Compare the acceleration of the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Relational operator
- Parameter 3 (🔢 Number): Value to compare
Technical note: parameter 4 are internal parameters handled by GDevelop.
Angle offset
Compare the rotation offset applied when moving the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Relational operator
- Parameter 3 (🔢 Number): Value to compare
Technical note: parameter 4 are internal parameters handled by GDevelop.
Destination reached
Check if the destination was reached.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
Technical note: parameter 2 are internal parameters handled by GDevelop.
Is at a node
Check if the object position is the on a path node.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
Technical note: parameter 2 are internal parameters handled by GDevelop.
Is moving
Check if the object is moving.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
Technical note: parameter 2 are internal parameters handled by GDevelop.
Path found
Check if a path has been found.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
Technical note: parameter 2 are internal parameters handled by GDevelop.
Object rotated
Check if the object is rotated when traveling on its path.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
Technical note: parameter 2 are internal parameters handled by GDevelop.
Rotation speed
Compare the rotation speed of the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Relational operator
- Parameter 3 (🔢 Number): Value to compare
Technical note: parameter 4 are internal parameters handled by GDevelop.
Maximum speed
Compare the maximum speed of the object.
See parameters
- Parameter 0: 👾 Object
- Parameter 1: 🧩 Behavior
- Parameter 2: 🟰 Relational operator
- Parameter 3 (🔢 Number): Value to compare
Technical note: parameter 4 are internal parameters handled by GDevelop.
Behavior expressions
Expression | Description | |
---|---|---|
Object.LinkPathFinding::Acceleration() |
Return the acceleration of the object. | |
Object.LinkPathFinding::AngleOffset() |
Return the rotation offset applied when moving the object. | |
Object.LinkPathFinding::DestinationX() |
Destination X position. | |
Object.LinkPathFinding::DestinationY() |
Destination Y position. | |
Object.LinkPathFinding::NextNodeIndex() |
Next waypoint index. | |
Object.LinkPathFinding::NextNodeX() |
Next waypoint X position. | |
Object.LinkPathFinding::NextNodeY() |
Next waypoint Y position. | |
Object.LinkPathFinding::NodeCount() |
Get the number of waypoints on the path. | |
Object.LinkPathFinding::NodeX(number) |
Waypoint X position. | |
🔢 Number | Waypoint index | |
Object.LinkPathFinding::NodeY(number) |
Waypoint X position. | |
🔢 Number | Waypoint index | |
Object.LinkPathFinding::RotationSpeed() |
Return the rotation speed of the object. | |
Object.LinkPathFinding::Speed() |
Speed of the object on the path. | |
Object.LinkPathFinding::SpeedMax() |
Return the maximum speed of the object. |
This page is an auto-generated reference page about the Linked Objects Tools extension, made by the community of GDevelop, the open-source, cross-platform game engine designed for everyone. Learn more about all GDevelop community-made extensions here.