darkenbehind.lua 641 B

12345678910111213141516171819202122
  1. local DarkenBehind = {}
  2. DarkenBehind.code = 'darkenBehind'
  3. function DarkenBehind:init()
  4. self:resize()
  5. end
  6. function DarkenBehind:update()
  7. if not ctx.id then return end
  8. local p = ctx.players:get(ctx.id)
  9. if p then
  10. self.shader:send('playerPosition', {(p.drawX - ctx.view.x) * ctx.view.scale, (p.drawY - ctx.view.y) * ctx.view.scale})
  11. self.shader:send('playerDirection', math.deg(p.angle) % 360 + 360)
  12. end
  13. end
  14. function DarkenBehind:resize()
  15. self.shader = data.media.shaders.darkenBehind
  16. self.shader:send('frame', {ctx.view.frame.x, ctx.view.frame.y, ctx.view.frame.width, ctx.view.frame.height})
  17. end
  18. return DarkenBehind