Перейти к содержимому

Уроки · 2

Координаты

Чтобы нарисовать что-то в нужном месте экрана, нужно понимать, как устроены координаты. В играх они работают немного не так, как в школе на уроках математики.

  • Точка (0, 0) — это левый верхний угол экрана, а не центр и не низ.
  • Ось x растёт вправо.
  • Ось y растёт вниз (а не вверх, как в математике).

Значения ниже — это пиксели: чем больше x, тем правее точка, чем больше y, тем ниже.

Например, эта строка рисует круг в 100 пикселях от левого края и в 200 пикселях от верхнего:

draw_circle(100.0, 200.0, 40.0, YELLOW);

Меняй значения x и y — кружок будет двигаться, а код ниже покажет, как это записать в Rust:

src/main.rs
use macroquad::prelude::*;
#[macroquad::main("Координаты")]
async fn main() {
loop {
clear_background(BLACK);
// Круг в точке (x, y).
draw_circle(1280.0, 960.0, 40.0, YELLOW);
next_frame().await;
}
}

Попробуй поставить x и y в 0 — кружок уедет в левый верхний угол. А если задать большие значения — окажется за правым или нижним краем экрана и пропадёт из виду: координаты не обязаны быть в границах экрана, macroquad просто рисует, где скажешь.