use rustraight::prelude::*;
fn main() {
init(WindowConfig {
title: String::from("02_shapes"),
width: 800,
height: 600,
screen_width: 800,
screen_height: 600,
..Default::default()
});
while advance_frame() {
draw_fill(MAIN_SCREEN, Color::rgb(15, 15, 20));
for i in 0..8 {
draw_pixel(MAIN_SCREEN, 20 + i, 20, Color::WHITE);
}
draw_line(MAIN_SCREEN, 20, 40, 120, 100, Color::RED);
draw_rectangle(MAIN_SCREEN, 20, 120, 80, 60, Color::GREEN, true);
draw_rectangle(MAIN_SCREEN, 120, 120, 80, 60, Color::GREEN, false);
draw_circle(MAIN_SCREEN, 260, 150, 40, Color::BLUE, true);
draw_circle(MAIN_SCREEN, 360, 150, 40, Color::BLUE, false);
draw_triangle(MAIN_SCREEN, 440, 190, 480, 110, 520, 190, Color::YELLOW, true);
draw_triangle(MAIN_SCREEN, 560, 190, 600, 110, 640, 190, Color::YELLOW, false);
let consts = [
("WHITE", Color::WHITE), ("BLACK", Color::BLACK), ("RED", Color::RED),
("GREEN", Color::GREEN), ("BLUE", Color::BLUE), ("YELLOW", Color::YELLOW),
("CYAN", Color::CYAN), ("MAGENTA", Color::MAGENTA),
];
for (i, (name, c)) in consts.iter().enumerate() {
let x = 20 + i as i32 * 76;
draw_rectangle(MAIN_SCREEN, x, 220, 60, 30, *c, true);
draw_text(MAIN_SCREEN, x, 254, *name, Color::WHITE);
}
draw_rectangle(MAIN_SCREEN, 630, 220, 60, 30, Color::rgba(255, 140, 0, 128), true);
draw_text(MAIN_SCREEN, 630, 254, "rgba a=128", Color::WHITE);
draw_text(
MAIN_SCREEN, 20, 300,
"pixel / line / rect(fill,outline) / circle(fill,outline) / triangle(fill,outline)",
Color::WHITE,
);
draw_text(MAIN_SCREEN, 20, 330, "Z を押している間: clear() でこのフレームの描画が全て消えるはず", Color::YELLOW);
if is_pressed(KeyCode::KeyZ) {
clear(MAIN_SCREEN);
}
}
}