forked from karx/catbox
Finish sprite rendering
This commit is contained in:
parent
6e7a72d856
commit
056f470a82
12
src/lib.rs
12
src/lib.rs
|
@ -80,7 +80,7 @@ impl Sprite {
|
|||
let surf = ops.load()?;
|
||||
|
||||
let srect = surf.rect();
|
||||
let dest_rect: Rect = Rect::new(x, y, srect.width(), srect.height());
|
||||
let dest_rect: Rect = Rect::from_center((x, y), srect.width(), srect.height());
|
||||
|
||||
Ok(Self {
|
||||
rect: dest_rect,
|
||||
|
@ -88,8 +88,14 @@ impl Sprite {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn draw(&self, canvas: Canvas<Window>) {
|
||||
let surface = canvas.window();
|
||||
pub fn draw(&self, canvas: &mut Canvas<Window>, events: &Events) -> Result<()> {
|
||||
let mut surface = canvas.window().surface(events.as_ref())?;
|
||||
|
||||
self.surf.blit(None, &mut *surface, self.rect)?;
|
||||
|
||||
surface.finish()?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
13
src/main.rs
13
src/main.rs
|
@ -1,13 +1,20 @@
|
|||
use catbox::{Event, Game, Keycode};
|
||||
use catbox::{Event, Game, Keycode, Sprite};
|
||||
|
||||
fn main() {
|
||||
let game = Game::new("catbox demo", 1000, 800);
|
||||
|
||||
let mut i = 0;
|
||||
let s = Sprite::new("/home/yashkarandikar/code/catbox/duck.png", 500, 400).unwrap();
|
||||
game.run(|canvas, event_pump| {
|
||||
i = (i + 1) % 255;
|
||||
canvas.set_draw_color(catbox::Color::RGB(i, 64, 255));
|
||||
canvas.clear();
|
||||
// canvas.set_draw_color(catbox::Color::RGB(i, 64, 255));
|
||||
// canvas.clear();
|
||||
s.draw(canvas, event_pump).unwrap();
|
||||
|
||||
// let m = sdl2::mouse::MouseState::new(event_pump.as_ref());
|
||||
// println!("{}, {}", m.x(), m.y());
|
||||
|
||||
|
||||
for event in event_pump {
|
||||
match event {
|
||||
Event::Quit { .. }
|
||||
|
|
Loading…
Reference in New Issue