Starting editor
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user