Starting editor

This commit is contained in:
2018-10-04 20:31:02 +02:00
parent 8a81f6f469
commit 888aed8102
3 changed files with 7 additions and 1 deletions
+3
View File
@@ -0,0 +1,3 @@
fn main() {
}
+70
View File
@@ -0,0 +1,70 @@
extern crate sfml;
extern crate rusty;
use std::time::Instant;
use sfml::window::{
Event,
Key,
};
use rusty::engine::scene::Scene;
use rusty::engine::character::Character;
use rusty::engine::controls::Controls;
use rusty::engine::renderer::Renderer;
fn main() {
let game_width = 800;
let game_height = 600;
let mut character = Character::with_controls(Controls::new());
character.set_position((300.0, 200.0));
let mut scene = Scene::new();
scene.add(character);
let mut renderer = Renderer::new(game_width, game_height);
let mut after_loop = Instant::now();
let mut running = true;
loop {
// Manage the events
while let Some(event) = renderer.poll_event() {
match event {
// Quit the game if window is closed
Event::Closed => running = false,
// Quit the game if escape is pressed
Event::KeyPressed {
code: Key::Escape, ..
} => running = false,
_ => (),
}
scene.manage_event(&event);
}
// Manage the physics
let duration = Instant::now().duration_since(after_loop);
after_loop = Instant::now();
scene.update(&duration);
// Do the rendering
renderer.clear();
renderer.draw_scene(&scene);
// Display and manage the frame rate
renderer.display();
if ! running {
break;
}
}
}