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 |
} |