Los ángulos van en grados: 0 = derecha, 90 = arriba, 180 = izquierda, 270 = abajo.
| Función |
Qué hace |
Ejemplo |
float angleTo(float targetX, float targetY) const |
Ángulo desde esta instancia hasta un punto. |
setDirection(angleTo(mouseX(), mouseY())); |
float angleTo(const Entity& other) const |
Ángulo hasta otra instancia. |
angleTo(*player) |
float distanceTo(float targetX, float targetY) const |
Distancia en píxeles hasta un punto. |
if (distanceTo(160, 90) < 8) ... |
float distanceTo(const Entity& other) const |
Distancia hasta otra instancia. |
if (distanceTo(*player) < 40) ... |
| Función |
Qué hace |
Ejemplo |
float lerp(float a, float b, float t) |
Mezcla de a hacia b: t = 0 da a, t = 1 da b. |
x = lerp(x, objetivo, 0.1f); |
float approach(float current, float target, float step) |
Avanza de current hacia target como máximo step, sin pasarse. |
hspeed = approach(hspeed, 0, 0.2f); |
int sign(float v) |
-1, 0 o 1, según el signo. |
if (hspeed != 0) scaleX = sign(hspeed); |
float wrap(float v, float min, float max) |
Da la vuelta dentro del intervalo. wrap(370, 0, 360) = 10. |
x = wrap(x, 0, roomWidth()); |
Un vector 2D con x e y. La y crece hacia abajo, como en la pantalla.
| Miembro |
Qué hace |
Vec2{x, y} |
Crea un vector. |
+, -, *, / (y +=, -=, *=, /=) |
Cuentas con vectores y números. |
float length() const |
Longitud del vector. |
Vec2 normalized() const |
El mismo vector con longitud 1. |
static Vec2 fromAngle(float distance, float degrees) |
Vector con la longitud y el ángulo dados. |
const Vec2 v = Vec2::fromAngle(4.0f, 45); // 4 píxeles en diagonal hacia arriba y a la derecha
| Función |
Qué hace |
Ejemplo |
float random(float a, float b) |
Número con decimales desde a hasta casi b. |
vspeed = random(0.8f, 1.6f); |
int randomInt(int a, int b) |
Número entero de a a b, incluyendo los dos. |
int lado = randomInt(0, 3); |
bool chance(float p) |
true con probabilidad p (0 = nunca, 1 = siempre). |
if (chance(0.25f)) ... |
pick(a, b, ...) |
Elige al azar uno de los valores. Los tipos mezclados pasan al tipo común. |
pick(1, 5, 9) |
void randomSeed(unsigned seed) |
Fija la semilla: la misma semilla repite los mismos resultados. |
randomSeed(42); |
Mira Números al azar para ver ejemplos.