forked from karx/catbox
Expose sprite position
This commit is contained in:
parent
3f2ba9285d
commit
ea8da5e990
|
@ -122,6 +122,10 @@ impl Sprite {
|
|||
pub fn angle(&mut self, angle: f64) {
|
||||
self.angle = angle;
|
||||
}
|
||||
|
||||
pub fn position(&self) -> (i32, i32) {
|
||||
self.rect.center().into()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Game {
|
||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -8,6 +8,14 @@ fn main() {
|
|||
game.run(|canvas, event_pump| {
|
||||
i = (i + 1.0) % 360.0;
|
||||
|
||||
let (start_x, start_y) = s.position();
|
||||
let m = sdl2::mouse::MouseState::new(event_pump.as_ref());
|
||||
let x_diff = m.x() - start_x;
|
||||
let y_diff = m.y() - start_y;
|
||||
|
||||
let angle = (y_diff as f64).atan2(x_diff as f64);
|
||||
s.angle(angle.to_degrees());
|
||||
|
||||
for event in event_pump {
|
||||
match event {
|
||||
Event::Quit { .. }
|
||||
|
@ -30,8 +38,8 @@ fn main() {
|
|||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
s.angle(i);
|
||||
|
||||
|
||||
s.draw(canvas).unwrap();
|
||||
})
|
||||
.unwrap();
|
||||
|
|
Loading…
Reference in a new issue