use rustraight::prelude::*;
const WINDOW_WIDTH: u16 = 800;
const WINDOW_HEIGHT: u16 = 600;
const SCREEN_WIDTH: u16 = 320;
const SCREEN_HEIGHT: u16 = 240;
fn main() {
let mut window = Window::default();
window.title("ゲーム");
window.size(WINDOW_WIDTH, WINDOW_HEIGHT);
window.screen_size(SCREEN_WIDTH, SCREEN_HEIGHT);
window.resizable(true);
window.vsync(true);
window.decorations(true);
window.transparent(false);
window.overlay_enable(true);
window.init();
window.font_size(16);
let mut dt_holder: Vec<f32> = Vec::new();
let mut frame_rate = 0.0;
let mut old_mx = 0;
let mut old_my = 0;
let mut wx = 0;
let mut wy = 0;
while window.advance_frame() {
let dt = window.delta_time();
dt_holder.push(dt);
if dt_holder.len() == 30 {
let mut average_dt = 0.0;
for past_dt in &dt_holder {
average_dt += past_dt;
}
average_dt /= dt_holder.len() as f32;
frame_rate = 1.0 / average_dt;
dt_holder.clear();
}
if window.is_mouse_just_pressed(MouseButton::Left) {
(wx, wy) = window.position();
(old_mx, old_my) = window.mouse_position();
} else if window.is_mouse_pressed(MouseButton::Left) {
let (mx, my) = window.mouse_position();
window.set_position(wx + (mx - old_mx), wy + (my - old_my));
(wx, wy) = window.position();
}
window.screen_draw_text(0, 0, format!("fps: {:.2}", frame_rate), Color::WHITE);
window.screen_draw_text(-10, 20, format!(" dt: {:.3}", dt), Color::WHITE);
}
free_all_sounds();
free_all_graphs();
}