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