use skunk2d::*; const WIDTH: i32 = 1280; const HEIGHT: i32 = 720; struct World { img: Image, pos: Vec2 } fn main() { run::(WIDTH, HEIGHT); } impl Game for World { fn new(window_state: &mut WindowState) -> Self { //window_state.set_palette(0, 0xc0, 0xf0, 0xd0); window_state.scramble_palette(); Self { img: Image::load("examples/assets/test.gif"), pos: Vec2::zero() } } fn update(&mut self, window_state: &mut WindowState) { self.pos = window_state.mouse_pos(); } fn on_event(&mut self, window_state: &mut WindowState, event: Event) { match event { Event::MouseClick(MouseButton::Left, _) => { window_state.scramble_palette(); } _ => {} } } fn draw(&self, target: &mut Image) { target.clear(); target.draw_image(Vec2{x: 200, y: 100}, &self.img); target.draw_image(self.pos, &self.img); target.draw_line(Vec2{x: WIDTH/2, y: HEIGHT/2}, self.pos, 10); } }