-
Notifications
You must be signed in to change notification settings - Fork 9
FloatExt
Will Blanton edited this page Sep 13, 2019
·
6 revisions
This is an Extension! Learn about using Extensions here!
Get the sign (-1, 0, 1) of a number
-100.sign_of(); // -1
Get half or a quarter of a number
100.half(); // 50
100.quarter(); // 25
Convert radians to degrees:
var radian = Math.PI;
var degree = radian.rad_to_deg();
// degree = 180
Vice-versa:
var degree = 180;
var radian = degree.deg_to_rad();
// radian = 3.14...
Cycle through a range of numbers:
var value = 15;
var cycled_value = value.cycle(0, 10);
// cycled_value = 5;
Get a relative angle in degrees:
var angle = 0;
angle += 370;
angle = angle.get_relative_degree();
// angle = 10;
Get the difference in degrees between two angles:
var heading = 50;
var angle_to_destination = 120;
var difference = heading.degrees_between(angle_to_destination);
Clamp a value between a minimum and maximum value:
var value = 135;
var clamped_value = value.clamp(0, 100);
// clamped_value = 100;
Convert a float with many decimal places to a Float with only two decimal places:
value = 1.147528;
value = value.normalize(2);
// value = 1.15
Map a value from one range of numbers to another:
var value = 10;
var mapped_value = value.map(0, 100, 0, 200);
// mapped_value = 20
Snap a value to a grid:
var value = 14;
var snapped_value = value.snap_to_grid(8);
// snapped_value = 16
Generate a random number:
var value1 = 100.get_random();
// value1 = a number between 0 and 100
var value2 = 100.get_random(50);
// value2 = a number between 50 and 100
var value3 = 0.get_random(10, 20);
// value3 = a number between 10 and 20
Quickly convert a Float to an Int:
var value_f:Float = 10.2;
var value_i:Int = value_f.to_int();
// value_i = 10
Get a vector from an angle and speed:
var angle = 180;
var speed = 100;
var velocity:Vec2 = angle.vector_from_angle(speed);
For more info, please check out the API: http://01010111.com/zerolib/