bzr branch
http://9ix.org/bzr/traderous
11
by Josh C
pew pew! |
1 |
-- TODO: these need to come out of a factory |
2 |
||
21
by Josh C
extract wrapping behavior, wrap bullets |
3 |
Bullet = WrapTile:extend { |
11
by Josh C
pew pew! |
4 |
image = 'data/laser.png', |
5 |
onNew = function(self) |
|
15
by Josh C
get lasers going the right way |
6 |
--self.velocity = vector.new(1000, 0) -- veclocity 800 |
7 |
--self.velocity:rotate_inplace(self.rotation) |
|
8 |
||
9 |
self.velocity = vector.new( |
|
10 |
love.mouse.getX() - the.app.width / 2, |
|
11 |
love.mouse.getY() - the.app.height / 2 |
|
12 |
) |
|
13 |
self.velocity:normalize_inplace() |
|
14 |
self.velocity = self.velocity * 1000 |
|
15 |
||
16 |
self.rotation = math.atan2(self.velocity.y, self.velocity.x) |
|
11
by Josh C
pew pew! |
17 |
|
18 |
self.createdAt = love.timer.getTime() |
|
29
by Josh C
shoot things! |
19 |
|
20 |
the.bullets:add(self) |
|
11
by Josh C
pew pew! |
21 |
end, |
22 |
onUpdate = function(self, dt) |
|
29
by Josh C
shoot things! |
23 |
if love.timer.getTime() - self.createdAt > 0.7 then |
11
by Josh C
pew pew! |
24 |
-- TODO: reuse these (see factory idea above) |
35
by Josh C
fix double-removing sprites (and subsequent zombie mirror bullets). |
25 |
the.bullets:remove(self) |
11
by Josh C
pew pew! |
26 |
self:die() |
27 |
end |
|
28 |
end |
|
29 |
} |