|
|
@@ -10,6 +10,7 @@ use std::time::Duration; |
|
|
|
struct Player { |
|
|
|
position: Point, |
|
|
|
sprite: Rect, |
|
|
|
speed: i32, |
|
|
|
} |
|
|
|
|
|
|
|
fn render(canvas: &mut WindowCanvas, |
|
|
@@ -45,9 +46,10 @@ fn main() -> Result<(), String> { |
|
|
|
let texture_creator = canvas.texture_creator(); |
|
|
|
let texture = texture_creator.load_texture("assets/bardo.png")?; |
|
|
|
|
|
|
|
let player = Player { |
|
|
|
let mut player = Player { |
|
|
|
position: Point::new(0,0), |
|
|
|
sprite: Rect::new(0, 0, 26, 36), |
|
|
|
speed: 5, |
|
|
|
}; |
|
|
|
|
|
|
|
let mut event_pump = sdl_context.event_pump()?; |
|
|
@@ -59,6 +61,18 @@ fn main() -> Result<(), String> { |
|
|
|
Event::KeyDown { keycode: Some(Keycode::Escape), .. } => { |
|
|
|
break 'running; |
|
|
|
}, |
|
|
|
Event::KeyDown { keycode: Some(Keycode::Left), .. } => { |
|
|
|
player.position = player.position.offset(-player.speed, 0); |
|
|
|
}, |
|
|
|
Event::KeyDown { keycode: Some(Keycode::Right), .. } => { |
|
|
|
player.position = player.position.offset(player.speed, 0); |
|
|
|
}, |
|
|
|
Event::KeyDown { keycode: Some(Keycode::Up), .. } => { |
|
|
|
player.position = player.position.offset(0, -player.speed); |
|
|
|
}, |
|
|
|
Event::KeyDown { keycode: Some(Keycode::Down), .. } => { |
|
|
|
player.position = player.position.offset(0, player.speed); |
|
|
|
}, |
|
|
|
_ => {} |
|
|
|
} |
|
|
|
} |