๐ŸŽ’Helpers

This plugin provides a global singleton named Helpers to contain all the stuff that can be shared globally and can be useful in your game.

Normalize vector

Normalize the vector only if it's not normalized. Returns the vector

GodotEssentialsHelpers.normalize_vector(Vector2(30, -40))

Normalize diagonal vector

A diagonal vector requires additional treatment, which can be applied using this function.

GodotEssentialsHelpers.normalize_diagonal_vector(Vector2(-0.7444, 0.7444))

Is diagonal direction

Performs a basic check and returns whether the direction passed as a parameter is diagonal. This function is used internally by the normalize_diagonal_vector function.

GodotEssentialsHelpers.is_diagonal_direction(Vector2(1, -1))

Generate random direction

Simple random Vector2 direction generator, use this function if you need a random direction in some behaviour of your game. The result is normalized

look_at(self.global_position + GodotEssentialsHelpers.generate_random_direction())

Generate random angle

Generate a random angle between a range provided, the unit is on degrees

Generate random directions from an origin Vector2

This function generate a n random directions in a Array[Vector2] format from an starting vector point defining the min and max angles:

๐Ÿจ Frame Freeze

To achieve a slow-motion effect you can use this function that receives the time scale (as time goes by frame by frame) and the duration of the freeze in seconds.

Here you can see an example that trigger a frame freeze when a character jumps:

Frame freeze example 1 sec

Generate random string

You can use this function to generate a random string with a specified length and character list, which is set to its default value of "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

For instance, you can utilize this function to create invitation codes for your multiplayer rooms:

Validate an url

As the String class from Godot lack this validation you can use the following one:

Signals

frame_freezed signal is emitted when the effect starts in case you want to listen to it to perform other actions such as triggering animations.

Here you can see a basic example:

Last updated