]> git.seodisparate.com - LudumDare47_StuckInALoop/commitdiff
Add bg
authorStephen Seo <seo.disparate@gmail.com>
Sun, 4 Oct 2020 08:49:08 +0000 (17:49 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Sun, 4 Oct 2020 08:49:08 +0000 (17:49 +0900)
resources/bg.png [new file with mode: 0644]
src/door.rs
src/scenes/mainscene.rs

diff --git a/resources/bg.png b/resources/bg.png
new file mode 100644 (file)
index 0000000..4887dfd
Binary files /dev/null and b/resources/bg.png differ
index eb7258b11bfe10f62d0a54057b61ffc6fb1b1878..b13de8d5a0c8e811926ca760f50c8f7ef0850e64 100644 (file)
@@ -1,4 +1,4 @@
-use ggez::graphics::{self, DrawParam, Image, Rect};
+use ggez::graphics::{self, DrawMode, DrawParam, Image, Mesh, Rect};
 use ggez::{Context, GameResult};
 
 const DEFAULT_RADIUS: f32 = 70f32;
@@ -24,6 +24,13 @@ impl Door {
 
     pub fn draw(&self, ctx: &mut Context, door_image: &Image) -> GameResult<()> {
         if self.is_open {
+            let bg_mesh = Mesh::new_rectangle(
+                ctx,
+                DrawMode::fill(),
+                Rect::new(0f32, 0f32, 96f32, 160f32),
+                graphics::BLACK,
+            )?;
+            graphics::draw(ctx, &bg_mesh, DrawParam::new().dest([self.x, self.y]))?;
             graphics::draw(
                 ctx,
                 door_image,
index ee397ebc20905b061b2bcdc61a3ab893c98cae27..952562ed33dd4b8d2b6c70c7289d08f7fb6c8e33 100644 (file)
@@ -106,6 +106,7 @@ pub struct MainScene {
     puzzle_states: HashMap<PuzzleID, bool>,
     puzzle: Option<Puzzle>,
     success_sfx: Source,
+    bg_image: Image,
 }
 
 impl MainScene {
@@ -156,6 +157,7 @@ impl MainScene {
             puzzle_states: HashMap::new(),
             puzzle: None,
             success_sfx: Source::new(ctx, "/success.ogg").unwrap(),
+            bg_image: Image::new(ctx, "/bg.png").unwrap(),
         }
     }
 
@@ -667,6 +669,7 @@ impl EventHandler for MainScene {
 
     fn draw(&mut self, ctx: &mut Context) -> GameResult<()> {
         {
+            graphics::draw(ctx, &self.bg_image, DrawParam::new())?;
             let ground_mesh = Mesh::new_rectangle(
                 ctx,
                 DrawMode::fill(),