Ângulos são em graus: 0 = direita, 90 = cima, 180 = esquerda, 270 = baixo.
| Função |
O que faz |
Exemplo |
float angleTo(float targetX, float targetY) const |
Ângulo desta instância até um ponto. |
setDirection(angleTo(mouseX(), mouseY())); |
float angleTo(const Entity& other) const |
Ângulo até outra instância. |
angleTo(*player) |
float distanceTo(float targetX, float targetY) const |
Distância em pixels até um ponto. |
if (distanceTo(160, 90) < 8) ... |
float distanceTo(const Entity& other) const |
Distância até outra instância. |
if (distanceTo(*player) < 40) ... |
| Função |
O que faz |
Exemplo |
float lerp(float a, float b, float t) |
Mistura de a para b: t = 0 dá a, t = 1 dá b. |
x = lerp(x, alvo, 0.1f); |
float approach(float current, float target, float step) |
Anda de current até target por no máximo step, sem passar. |
hspeed = approach(hspeed, 0, 0.2f); |
int sign(float v) |
-1, 0 ou 1, conforme o sinal. |
if (hspeed != 0) scaleX = sign(hspeed); |
float wrap(float v, float min, float max) |
Dá a volta dentro do intervalo. wrap(370, 0, 360) = 10. |
x = wrap(x, 0, roomWidth()); |
Um vetor 2D com x e y. O y cresce para baixo, como na tela.
| Membro |
O que faz |
Vec2{x, y} |
Cria um vetor. |
+, -, *, / (e +=, -=, *=, /=) |
Contas com vetores e números. |
float length() const |
Comprimento do vetor. |
Vec2 normalized() const |
O mesmo vetor com comprimento 1. |
static Vec2 fromAngle(float distance, float degrees) |
Vetor com o comprimento e o ângulo dados. |
const Vec2 v = Vec2::fromAngle(4.0f, 45); // 4 pixels na diagonal para cima e à direita
| Função |
O que faz |
Exemplo |
float random(float a, float b) |
Número com vírgula de a até quase b. |
vspeed = random(0.8f, 1.6f); |
int randomInt(int a, int b) |
Número inteiro de a a b, incluindo os dois. |
int lado = randomInt(0, 3); |
bool chance(float p) |
true com probabilidade p (0 = nunca, 1 = sempre). |
if (chance(0.25f)) ... |
pick(a, b, ...) |
Sorteia um dos valores. Tipos misturados viram o tipo comum. |
pick(1, 5, 9) |
void randomSeed(unsigned seed) |
Fixa a semente: a mesma semente repete os mesmos sorteios. |
randomSeed(42); |
Veja Sorteio para exemplos.