5 Player.color = {255, 0, 0}
8 Player.acceleration = 100
9 Player.position = vec2:new(0, 0)
10 Player.vector = vec2:new(0, 0)
14 down = vec2:new(0, 1),
15 left = vec2:new(-1, 0),
16 right = vec2:new(1, 0),
25 function Player:new(o)
33 function Player:drawPath()
34 if #self.path >= 4 then
35 love.graphics.setColor(self.color)
36 love.graphics.line(self.path)
40 function Player:draw()
41 love.graphics.setColor(self.color)
42 love.graphics.rectangle('fill', self.position.x, self.position.y, self.width, self.height)
44 -- add current position
47 table.remove(self.path)
48 table.remove(self.path)
51 function Player:recordPosition()
52 table.insert(self.path, self.position.x + self.width/2)
53 table.insert(self.path, self.position.y + self.height/2)
56 function Player:update(dt)
57 for key, name in pairs(self.keys) do
58 if love.keyboard.isDown(key)
59 and self.vector ~= self.vectors[name]
60 and (self.vector + self.vectors[name]):length() > 0
62 self.vector = self.vectors[name]
67 self.position = self.position + self.vector * self.acceleration * dt