Уроки · 13
Клик мышью
Мышь — это ещё один источник ввода, помимо клавиатуры. В macroquad
для неё есть своя функция — is_mouse_button_down — и работает она
ровно так же, как is_key_down в уроке
“Ввод с клавиатуры”: проверяет, зажата ли прямо сейчас
указанная кнопка, на каждом кадре.
Замени содержимое src/main.rs на это:
use macroquad::prelude::*;
#[macroquad::main("Клик мышью")]async fn main() { loop { clear_background(BLACK);
// Левая кнопка мыши зажата — рисуем круг по центру экрана. if is_mouse_button_down(MouseButton::Left) { draw_circle(screen_width() / 2.0, screen_height() / 2.0, 100.0, YELLOW); }
next_frame().await; }}Запусти как обычно:
cargo runЗажми левую кнопку мыши — по центру экрана появится жёлтый кружок, и исчезнет, как только кнопку отпустишь. Попробуй прямо здесь:
Что здесь происходит
Заголовок раздела «Что здесь происходит»MouseButton::Left— обозначение левой кнопки мыши, точно так же, какKeyCode::Upобозначало стрелку вверх.is_mouse_button_down(MouseButton::Left)проверяет, зажата ли она прямо сейчас — та же самая идея, что иis_key_down, только источник другой.- Как только кнопку отпускаешь,
ifна этом кадре не выполняется, и кружок пропадает — ровно как и с клавиатурой.