/ld26

To get this branch, use:
bzr branch http://9ix.org/bzr/ld26
12 by Josh C
area transitions
1
Transition = Group:extend {
2
   visible = false,
3
   onNew = function(self)
16 by Josh C
fade in
4
      local t = self
5
      -- NOTE: X/Y will fail if you init Transition before Player!
6
      box = Fill:new{x = self.x, y = self.y,
7
                     height = self.height or the.player.height,
8
                     width = self.width or the.player.width,
9
                     fill = {0, 255, 0},
10
                     onCollide = function(self, other, xOl, yOl)
11
                        -- (sanity check)
12
                        if other == the.player then
13
                           --print("Sending to "..t.target)
14
15
                           the.app.view = GameView:new{level = t.target}
16
17
                           if t.targetX or t.targetY then
18
                              the.player.x = t.targetX
19
                              the.player.y = t.targetY
20
                           end
21
                        else
22
                           print("Colliding with: "..other)
23
                        end
24
                     end
25
                  }
26
      self:add(box)
27
      self:add(Text:new{x = self.x, y = self.y,
28
                        text = "T"
29
                     })
30
     
31
      -- make sure collision doesn't think group is a sprite
32
      self.x, self.y, self.width, self.height = nil, nil, nil, nil
33
   end,
12 by Josh C
area transitions
34
   onUpdate = function(self, dt)
35
                 self.visible = DEBUG and the.console.visible
36
              end
37
}