Уроки · 11
Проценты
В уроке “Позиционирование” мы делили экран на доли — пополам, на трети. Проценты устроены так же, только шкала привычнее: от 0 до 100. 0% — левый край (или верхний, если по вертикали), 100% — правый край, 50% — середина. Это та же шкала, что и в заряде телефона или громкости звука.
От процента к пикселям
Заголовок раздела «От процента к пикселям»Чтобы превратить процент в реальную координату на экране, делим его на 100 (получаем долю от 0.0 до 1.0) и умножаем на ширину экрана:
// Процент от 0 до 100.let x_percent = 60.0;// Переводим в пиксели: делим на 100, умножаем на ширину экрана.let x = screen_width() * x_percent / 100.0;Например, при 60% точка окажется в 60% ширины экрана от левого края —
чуть правее середины. Для вертикали всё то же самое, только через
screen_height().
Попробуй сам
Заголовок раздела «Попробуй сам»Меняй значения x% и y% ниже — кружок
будет прыгать в новую точку, а код под ним покажет, как это
записать в Rust, с уже подставленными числами:
use macroquad::prelude::*;
#[macroquad::main("Проценты")]async fn main() { loop { clear_background(BLACK);
// Процент от ширины экрана. let x = screen_width() * 50.0 / 100.0; // Процент от высоты экрана. let y = screen_height() * 50.0 / 100.0;
draw_circle(x, y, 80.0, YELLOW);
next_frame().await; }}Что здесь происходит
Заголовок раздела «Что здесь происходит»x_percent / 100.0— превращает процент (число от 0 до 100) в долю от 0.0 до 1.0, точно так же, какw / 3.0в уроке “Позиционирование” превращал ширину экрана в одну треть.- Эту долю умножаем на
screen_width()— и получаем координату в пикселях, готовую дляdraw_circle.