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