skunk2d/examples/test.rs

45 lines
1.1 KiB
Rust

use skunk2d::*;
const WIDTH: i32 = 1280;
const HEIGHT: i32 = 720;
struct World {
img: Image,
pos: Vec2<i32>
}
fn main() {
run::<World>(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);
}
}