| 123456789101112131415161718192021222324252627282930313233 |
- local Spark = {}
- Spark.name = 'Spark'
- Spark.code = 'spark'
- Spark.activate = function(self)
- self.speed = love.math.random(200, 300)
- self.alpha = .6 + love.math.random() * .4
- self.length = love.math.random(4, 12)
- self.angle = 0
- self.depth = -8
- ctx.view:register(self)
- end
- Spark.update = function(self)
- self.alpha = self.alpha - 2 * tickRate
- if self.alpha <= 0 then return true end
- self.x = self.x + math.dx(self.speed * tickRate, self.angle)
- self.y = self.y + math.dy(self.speed * tickRate, self.angle)
- end
- Spark.draw = function(self)
- local function doDraw()
- love.graphics.setColor(255, 255, 200, self.alpha * 255)
- love.graphics.line(self.x, self.y, self.x + math.dx(self.length, self.angle), self.y + math.dy(self.length, self.angle))
- end
- doDraw()
- ctx.effects:get('bloom'):render(doDraw)
- end
- return Spark
|