pub struct WorldSize {
pub width: i64,
pub height: i64,
}Expand description
A size in the world
Fields§
§width: i64§height: i64Implementations§
Source§impl WorldSize
impl WorldSize
Sourcepub fn new(width: i64, height: i64) -> Self
pub fn new(width: i64, height: i64) -> Self
Examples found in repository?
examples/simple.rs (line 16)
7fn main() {
8 let (width, height) = term_size().expect("Can't get the term size? Can't play the game!");
9
10 // Viewport
11 let viewport_size = ScreenSize::new(width / 2, height / 2);
12 let mut viewport = Viewport::new(ScreenPos::new(0, 4), viewport_size);
13
14 // Camera
15 let (width, height) = (width as i64, height as i64);
16 let camera_size = WorldSize::new(width / 2, height / 2);
17 let camera_pos = WorldPos::new(width, height);
18 let camera = Camera::new(camera_pos, camera_size);
19
20 // Renderer
21 let stdout_renderer = StdoutTarget::new().expect("Failed to enter raw mode");
22 let mut renderer = Renderer::new(stdout_renderer);
23
24 // Player
25 let mut player = ('@', camera_pos);
26
27 let (_, events) = events::<()>(EventModel::Fps(20));
28 for event in events {
29 match event {
30 Event::User(()) => {}
31 Event::Tick => {
32 let pixel = Pixel::new(player.0, camera.to_screen(player.1), None, None);
33 viewport.draw_pixel(pixel);
34 let _ = renderer.render(&mut viewport);
35 viewport.swap_buffers();
36 }
37 Event::Key(KeyEvent { code: KeyCode::Esc, .. }) => break,
38 Event::Key(KeyEvent { code: kc, .. }) => {
39 match kc {
40 KeyCode::Left => { player.1.x -= 1; }
41 KeyCode::Right => { player.1.x += 1; }
42 KeyCode::Up => { player.1.y -= 1; }
43 KeyCode::Down => { player.1.y += 1; }
44 _ => {}
45 }
46 }
47 Event::Resize(_w, _h) => {}
48 }
49 }
50}Trait Implementations§
impl Copy for WorldSize
impl StructuralPartialEq for WorldSize
Auto Trait Implementations§
impl Freeze for WorldSize
impl RefUnwindSafe for WorldSize
impl Send for WorldSize
impl Sync for WorldSize
impl Unpin for WorldSize
impl UnwindSafe for WorldSize
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more