Object.c: New functions

Needed AddSpeed() in a project and thought that it would be a good addition. AddVelocity() is not used so far, maybe we should remove it again.
directional-lights
Mark 2016-11-19 19:05:27 +01:00
parent a46ecc7b5b
commit f2870dfa16
1 changed files with 28 additions and 0 deletions

View File

@ -19,6 +19,13 @@ global func GetSpeed(int prec)
return Sqrt(GetXDir(prec)**2 + GetYDir(prec)**2);
}
// You can add to the two components of the velocity vector individually with this function.
global func AddSpeed(int x_dir, int y_dir, int prec)
{
SetXDir(GetXDir(prec) + x_dir, prec);
SetYDir(GetYDir(prec) + y_dir, prec);
}
// Sets an objects's speed and its direction, doesn't it?
// Can set either speed or angle of velocity, or both
global func SetVelocity(int angle, int speed, int precAng, int precSpd)
@ -38,6 +45,27 @@ global func SetVelocity(int angle, int speed, int precAng, int precSpd)
return;
}
// Adds to an objects's speed and its direction:
// Can set either speed or angle of velocity, or both
global func AddVelocity(int angle, int speed, int precision_angle, int precision_speed)
{
precision_speed = precision_speed ?? 10;
precision_angle = precision_angle ?? 1;
speed = speed ?? 0;
angle = angle ?? 0;
var current_x_dir = GetXDir(precision_speed);
var current_y_dir = GetYDir(precision_speed);
var x_dir = +Sin(angle, speed, precision_angle);
var y_dir = -Cos(angle, speed, precision_angle);
SetXDir(current_x_dir + x_dir, precision_speed);
SetYDir(current_y_dir + y_dir, precision_speed);
return;
}
// Sets the completion of this to new_con.
global func SetCon(int new_con, int precision, bool grow_from_center)
{