Did things I don't remember :'(
This commit is contained in:
@@ -4,36 +4,36 @@ use sdl2::rect::Rect;
|
|||||||
pub struct Camera {
|
pub struct Camera {
|
||||||
x: i32,
|
x: i32,
|
||||||
y: i32,
|
y: i32,
|
||||||
w: u32,
|
width: u32,
|
||||||
h: u32,
|
height: u32,
|
||||||
bounding: Rect
|
bounding: Rect
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Camera {
|
impl Camera {
|
||||||
pub fn new(x: i32, y: i32, w: u32, h: u32, bounding: Rect) -> Camera {
|
pub fn new(x: i32, y: i32, width: u32, height: u32, bounding: Rect) -> Camera {
|
||||||
Camera {
|
Camera {
|
||||||
x: x,
|
x: x,
|
||||||
y: y,
|
y: y,
|
||||||
w: w,
|
width: width,
|
||||||
h: h,
|
height: height,
|
||||||
bounding: bounding
|
bounding: bounding
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn center(&mut self, object: &Rect) {
|
pub fn center(&mut self, object: &Rect) {
|
||||||
let mut x = (object.x() + object.width() as i32 / 2) - (self.w as i32 / 2);
|
let mut x = (object.x() + object.width() as i32 / 2) - (self.width as i32 / 2);
|
||||||
let mut y = (object.y() + object.height() as i32 / 2) - (self.h as i32 / 2);
|
let mut y = (object.y() + object.height() as i32 / 2) - (self.height as i32 / 2);
|
||||||
|
|
||||||
if x < self.bounding.x() {
|
if x < self.bounding.x() {
|
||||||
x = self.bounding.x();
|
x = self.bounding.x();
|
||||||
} else if x + self.w as i32 > self.bounding.width() as i32 {
|
} else if x + self.width as i32 > self.bounding.width() as i32 {
|
||||||
x = (self.bounding.width() - self.w) as i32;
|
x = (self.bounding.width() - self.width) as i32;
|
||||||
}
|
}
|
||||||
|
|
||||||
if y < self.bounding.y() {
|
if y < self.bounding.y() {
|
||||||
y = self.bounding.y();
|
y = self.bounding.y();
|
||||||
} else if y + self.h as i32 > self.bounding.height() as i32 {
|
} else if y + self.height as i32 > self.bounding.height() as i32 {
|
||||||
y = (self.bounding.height() - self.h) as i32;
|
y = (self.bounding.height() - self.height) as i32;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.x = x;
|
self.x = x;
|
||||||
@@ -41,6 +41,6 @@ impl Camera {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_rect(&self) -> Rect {
|
pub fn to_rect(&self) -> Rect {
|
||||||
Rect::new_unwrap(self.x, self.y, self.w, self.h)
|
Rect::new_unwrap(self.x, self.y, self.width, self.height)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ extern crate sdl2_image;
|
|||||||
|
|
||||||
|
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::thread::sleep_ms;
|
use std::thread::sleep;
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
|
|
||||||
use sdl2_image::LoadTexture;
|
use sdl2_image::LoadTexture;
|
||||||
@@ -16,7 +16,7 @@ use sdl2::render::{Renderer, Texture};
|
|||||||
|
|
||||||
use tile::Layer;
|
use tile::Layer;
|
||||||
use camera::Camera;
|
use camera::Camera;
|
||||||
use player::Player;
|
// use player::Player;
|
||||||
use keyboard::KeyboardHandler;
|
use keyboard::KeyboardHandler;
|
||||||
use sprite::{Sprite, StaticSprite, AnimatedSprite};
|
use sprite::{Sprite, StaticSprite, AnimatedSprite};
|
||||||
|
|
||||||
@@ -549,7 +549,7 @@ fn main() {
|
|||||||
|
|
||||||
renderer.present();
|
renderer.present();
|
||||||
|
|
||||||
sleep_ms(5);
|
sleep(std::time::Duration::from_millis(5));
|
||||||
}
|
}
|
||||||
|
|
||||||
sdl2_image::quit();
|
sdl2_image::quit();
|
||||||
|
|||||||
Reference in New Issue
Block a user