Working on collisions
This commit is contained in:
parent
a4b5a735ae
commit
89295b9283
|
@ -4,12 +4,12 @@
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1
|
||||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1
|
||||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
|
||||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
|
||||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 74 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
|
@ -229,4 +229,8 @@ impl Drawable for Character {
|
||||||
fn position(&self) -> Vector2<f32> {
|
fn position(&self) -> Vector2<f32> {
|
||||||
self.position
|
self.position
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn origin(&self) -> Vector2<f32> {
|
||||||
|
Vector2::new(16.0, 16.0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,6 +234,10 @@ impl Drawable for PositionedTile {
|
||||||
fn position(&self) -> Vector2<f32> {
|
fn position(&self) -> Vector2<f32> {
|
||||||
self.position.into()
|
self.position.into()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn origin(&self) -> Vector2<f32> {
|
||||||
|
Vector2::new(0.0, 0.0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The map represents the tiles contained in a level.
|
/// The map represents the tiles contained in a level.
|
||||||
|
@ -363,8 +367,8 @@ impl Map {
|
||||||
// Find tile on x, y
|
// Find tile on x, y
|
||||||
if x > 0.0 && y > 0.0 {
|
if x > 0.0 && y > 0.0 {
|
||||||
|
|
||||||
let row = (y / 16.0) as usize + 2;
|
let row = (y / 16.0) as usize;
|
||||||
let col = (x / 16.0) as usize + 1;
|
let col = (x / 16.0) as usize;
|
||||||
|
|
||||||
if let Some((tile, _)) = self.tiles.get((row, col)) {
|
if let Some((tile, _)) = self.tiles.get((row, col)) {
|
||||||
if tile.from_top {
|
if tile.from_top {
|
||||||
|
|
|
@ -32,6 +32,9 @@ pub trait Drawable {
|
||||||
|
|
||||||
/// Returns the position on which the drawable should be drawn.
|
/// Returns the position on which the drawable should be drawn.
|
||||||
fn position(&self) -> Vector2<f32>;
|
fn position(&self) -> Vector2<f32>;
|
||||||
|
|
||||||
|
/// Returns the origin of the sprite.
|
||||||
|
fn origin(&self) -> Vector2<f32>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The game window.
|
/// The game window.
|
||||||
|
@ -89,6 +92,7 @@ impl Renderer {
|
||||||
|
|
||||||
use sfml::graphics::Transformable;
|
use sfml::graphics::Transformable;
|
||||||
sprite.set_position(drawable.position());
|
sprite.set_position(drawable.position());
|
||||||
|
sprite.set_origin(drawable.origin());
|
||||||
|
|
||||||
self.window.draw(&sprite);
|
self.window.draw(&sprite);
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ macro_rules! make_textures {
|
||||||
}
|
}
|
||||||
|
|
||||||
make_textures!(
|
make_textures!(
|
||||||
Mario, mario, make_mario_texture, "../../../assets/textures/mario.png",
|
Mario, mario, make_mario_texture, "../../../assets/test-textures/mario.png",
|
||||||
Overworld, overworld, make_overworld_texture, "../../../assets/textures/overworld.png",
|
Overworld, overworld, make_overworld_texture, "../../../assets/textures/overworld.png",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue